Hallo,
Ich würde gerne in einem Programm alle Standard
Cursor (Mauszeiger) gegen Eigene ersetzen.
Nun habe ich 2 Möglichkeiten gefunden:
-1-
Mit dem
Resource Hacker alle
Cursor austauschen, funktioniert wunderbar, jedoch habe ich 2 Probleme:
1. Beim Programmstart bekomme ich eine Fehlermeldung, die wahrscheinlich durch die Veränderung der EXE Datei entsteht.
2. Wenn ich das Programm neu compiliere, muss ich auch jedes mal die
Cursor eintauschen.
-2-
Die eigentlich sinnvollere Lösung; in eine
Resource Datei die
Cursor speichern und dann beim Programmstart laden.
Man hat jetzt die Möglichkeit mit sehr wenig Quellcode den
Cursor zu ändern:
Delphi-Quellcode:
Screen.Cursors[crAERO_ARROW] := LoadCursor(HInstance,makeIntResource(1002));
Screen.Cursor := crAERO_ARROW;
Damit wird dann der
Cursor von fast allen Komponenten angepasst. Dadurch habe ich aber nicht mehr die Möglichkeit die
Cursor von bestimmten Komponenten zu ändern wie z.b.:
TEdit.Cursor := crAERO_SELECT;
Man kann dies aber verbessern, indem man statt allen Komponenten (Screen.Cursor), nur mit ausgewählten Komponenten arbeitet, hierfür kann man sicher intelligente Schleifen benutzen.
Jedoch habe ich immer noch ein paar Probleme mit bestimmten Komponenten wie z.b.: TMainMenu (nur standard Windows
Cursor !!!) oder den Rändern des Programms (vergrößern, verkleinern, die Minimieren, Maximieren und Schließen-Gruppe).
Vielleicht hat dass einer von euch schon mal "erfolgreich" hinbekommen, wie man z.b. den Mauszeiger im TMainMenu ändert?