Einzelnen Beitrag anzeigen

Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#1

Im kompletten Programm den Cursor anpassen

  Alt 10. Mai 2008, 15:33
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?
Sebastian
  Mit Zitat antworten Zitat