Új hozzászólás Aktív témák
-
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
-
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.aspxAE
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung LCD és LED TV-k
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Milyen házat vegyek?
- Battlefield 6
- Házimozi belépő szinten
- Milyen egeret válasszak?
- A fociról könnyedén, egy baráti társaságban
- DUNE médialejátszók topicja
- Bestbuy játékok
- További aktív témák...
- Készpénzes / Utalásos Videokártya és Hardver felvásárlás! Személyesen vagy Postával!
- 153 - Lenovo LOQ (15IRX9) - Intel Core i5-13450HX, RTX 4060
- Bomba ár! Dell Latitude E5440 - i5-4GEN I 4GB I 320GB I 14" I HDMI I Cam I W10 I Gari!
- Bomba ár! Lenovo IdeaPad V15-IIL: i5-10GEN I 8GB I 256-512SSD I 15,6" FHD I Cam I W11 I Garancia!
- Lenovo Thinkpad X13 Gen1 Ryzen5 4650U Refurbished - Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

