Keresés

Új hozzászólás Aktív témák

  • ArchElf

    addikt

    válasz Rodrighez #967 üzenetére

    Gyors válasz az MSDN-ről:
    Note
    The Cursor class does not support animated cursors (.ani files) or cursors with colors other than black and white.
    Ez azt hiszem megválaszolja a felmerült kérdést (sajnálatos módon nem pozitívan), de találtam neked egy ilyet:
    http://www.codeproject.com/KB/cs/ExtCursors.aspx

    AE

    Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

  • ArchElf

    addikt

    válasz Rodrighez #967 üzenetére

    És itt egy hack:

    public static void ChangeCursor(string path, Form Form)
    {
    Cursor cursor = new Cursor(LoadCursorFromFile(path));
    Form.Cursor = cursor;
    }


    [DllImport("user32.dll", EntryPoint="LoadCursorFromFileW", CharSet=CharSet.Unicode)]
    private static extern IntPtr LoadCursorFromFile(string str);

    Itt viszont vigyázni kell, hogy a LoadCursorFromFile egy handle-t hoz létre, amit ezzel a módszerrel nem tudsz felszabadítani. Amenyiben csak egy ikon kell egyszerre, belerakhatod a LoadCursorFromFile() hívás eredményét egy statikus változóba (de több esetén is berakhatod mondjuk egy HashTable-be) és amikor kilépsz, vagy kurzort váltasz, akkor fel kell szabadítani a handle-t egy CloseHandle hívással:

    [DllImport("kernel32.dll", SetLastError=true)]
    private static extern bool CloseHandle(IntPtr hObject);
    [DllImport("user32.dll", EntryPoint="LoadCursorFromFileW", CharSet=CharSet.Unicode)]
    private static extern IntPtr LoadCursorFromFile(string str);
    private static IntPtr iconHandle;

    public static void ChangeCursor(string path, Form Form)
    {
    if (iconHandle != null) CloseHandle(iconHandle);
    iconHandle = LoadCursorFromFile(path)
    Cursor cursor = new Cursor(iconHandle);
    Form.Cursor = cursor;
    }

    Persze ebből is hiányzik még a hibakezelés, mega form lezárásakor a handle felszabadítása.

    AE

    Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

Új hozzászólás Aktív témák