Mauscoursor ändern
-
Also, ums ganz richtig zu machen:
const TCursor crEigenerCursor = 1; void __fastcall TForm1::Button1Click(TObject *Sender) { Screen->Cursors[crEigenerCursor] = LoadImage(HInstance, ".\\Cursor1.cur", IMAGE_CURSOR, 0, 0, LR_LOADFROMFILE); Screen->Cursor = crEigenerCursor; }
Schau auch mal in der Win32SDK-Hilfe nach, dort stehen die ganzen Parameter zu LoadImage() beschrieben.
-
Wo ist denn da die Pfadangabe zur bmp datei?
-
Augen auf!
LoadImage(HInstance, ".\\Cursor1.cur", IMAGE_CURSOR, 0, 0, LR_LOADFROMFILE);
-
und da kann ich einfach auch eine datei mit bmp endung einsetzen?
-
Jaaa
LoadImage(HInstance, "c:\\irgendeinpfad\\deinXXXXXXcursor.bmp", IMAGE_BITMAP , 0, 0, LR_LOADFROMFILE);
Steht alles in BCB->Hilfe->WindowsSDK
-
Dankeschön F98
-
Hä? Geht es jetzt um Cursors oder Bitmaps? Gast, präzisiere deine Frage. Wenn du LoadImage mit IMAGE_BITMAP verwendest, kommt da kein Cursor sondern ein Bitmap raus! Bzw. ein HBITMAP, also ein Handle auf ein Bitmap.
-
*heul*
Ich versuche jetzt ganz genau zu beschreiben was passiert ist:
ich habe deinen code fast 1:1 übernommen, nur hier habe ich etwas verändert:Screen->Cursors[crEigenerCursor] = LoadImage(HInstance, "1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
Liegt da der Fehler? Beim Buttondrücken ist nichts passiert, "1.bmp" lag im selben ordner wie die exe.
Dann hab ich das ganze in OnCreate gepackt, dann hat er die Form geladen es kam eine Sanduhr welche erst wieder verschwand wenn man die form mit dem mauszeiger kurz verlassen hat.
Dann ist mein Rechner abgestürzt ( sch... Internet Explorer ...), nun kommt andauernd ein Fehler wenn ich ein neues Projekt speichern und compilieren will:" /* TCustomForm.Create / inline __fastcall virtual TForm(Classes::TComponent AOwner) : TCustomForm(
AOwner) { }"Darauf ist ein Pfeil gerichtet, Fehlermeldung:
"Fehler beim Lesen von Form1->OnKeyDown. Ungültiger Wert der Eigenschaft".
Dabei hab ich onkeydown heute gar nicht benutzt...
-
Siehe mein letzter Beitrag.
-
d.h. ich muss das doch mit cur machen und alle objekte nochmals speichern und umbennenn?!
-
ja.
-
Nochmal danke, allerdings wirft das wieder Probleme auf:
Ich dachte man könne einfach von außen bmps ins programmladen und als cursor ausgeben
So stehe ich wieder vor den selben Problemen:Wie kann ich einen größeren Cursor zeichnen als 30x30 und in 256+ Farben?
Gar nicht? Muss ich eine andere Lösung wählen?
-
Soweit ich weiß haben Cursors eine maximale Größe von 32x32 Pxls.