Tech-Ecke / Delphi Inhalt / Eigene Mauszeiger verwenden

 

     Eigene Mauszeiger Verwenden

 

   Maus-Icon

Der Mauszeiger (Mouse-Cursor) ist ein spezielles Icon, welches gegenüber normalen Icons noch die Information für den HotSpot (Klickpunkt) besitzt. Die unter Windows zugeordnete Dateiendung ist ".cur". Sehr viele Icon-Editore bieten die Möglichkeit auch Mouse Cursor Icons zu erzeugen. Ein ganz brauchbarer und zudem kostenloser Editor ist der "Greenfish Icon Editor Pro".

   Ressourcedatei

Hat man nun seine Mauszeiger erzeugt, so müssen diese zuerst in eine Ressourcendatei gepackt werden, um sie später auch unter Delphi verwenden zu können. Wie man eine Ressourcedatei erstellt steht hier. Der Ressourcetyp ist dabei CURSOR.

Ich habe hier schon mal was vorbereitet :-) Eine Ressourcedatei namens MeinMausCursor.res mit folgenden beiden Icons:

    MeinMausCursor.res (zip)

 

   Ressourcedatei einbinden und Cursor anwenden

Die Ressourcedatei packt man nun in den Projektordner, zu dem Sourcecode seiner Delphianwendung und fügt die folgenden, grau hinterlegeten Zeilen im Quelltext der Unit1 ein:

  .
.
.

private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;
const crMausA = 1;
const crMausB = 2;

implementation

{$R *.dfm}
{$R MeinMausCursor.res} 
// hier wird die Ressourcedatei eingebunden


procedure TForm1.FormCreate(Sender: TObject);  // Ereignis OnCreate bei Form1
begin
Screen.Cursors[crMausA] := LoadCursor(HInstance,'MausA');  // hier werden die Icons angemeldet
Screen.Cursors[crMausB] := LoadCursor(HInstance,'MausB');
end;
.
.
.

 

Die beiden MouseCursor "MausA" und "MausB" können nun im gesamten Programm verwendet werden. Um den MouseCursor "MausA" als DefaultCursor für seine Anwendung zu nutzen, fügt man bei z.B. OnFormShow der Form eins folgende Zeile ein:

   Screen.Cursor := crMausA;  // Maus-Icon "MausA" als Mauszeiger für die komplette Anwendung nutzen
 

Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !

[letzte Aktualisierung 22.03.2009]