Einzelnen Beitrag anzeigen

zappel

Registriert seit: 30. Jan 2004
65 Beiträge
 
Delphi 2005 Personal
 
#1

Mauszeiger nach 3 Sekunden verschwinden lassen

  Alt 19. Sep 2004, 22:35
Hallo!

Ich bin gerade dabei, einen kleinen Bildschirmschoner mit Diashow zu basteln. Nun möchte ich einbauen, dass die Maus unsichtbar wird, wenn man sie 3 Sekunden lang nicht bewegt. Dazu habe ich einen Timer eingebaut, der TForm.Cursor:=crNone setzt. Bei FormMouseMove folgt TForm.Cursor:=crDefault. Das klappt auch alles bis dahin super. (Nach dem auslösen der Timers wird er disabled und wieder bei FormMouseMove enabled, aerb das nur nebenbei.)

Das Gleiche möchte ich nun mit einem Image machen, da der Zeiger auch verschwinden soll, wenn er sich unbewegt auf dem Bild befindet. Das klappt allerdings nicht, der Zeiger bleibt sichtbar. Ich habe schon herausgefunden, dass er, wenn ich ihn nach mehr als 3 Sekunden wieder bewege, ganz kurz unsichtbar wird, dann aber sofort wieder erscheint...

Kann mir irgendwer mit meinem Problem helfen, habe hier in der DP nichts passendes gefunden.

Delphi-Quellcode:
procedure TForm1.TimerMouseTimer(Sender: TObject);
begin
  Image1.Cursor:=crNone;
  TimerMouse.Enabled:=false;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Image1.Cursor:=crArrow;
  TimerMouse.Enabled:=true;
end;
  Mit Zitat antworten Zitat