![]() |
Form.OnMouseMove
Tja, vielleicht wurde dieses Thema schon mehrmals besprochen, aber ich bin irgendwie nicht fündig geworden. :shock:
Meine Form ist mit verschidenen Steuerelemeten überdeckt und wenn ich dieses Ereigniss Form.OnMouseMove versuche aufzurufen, dann klappt's nicht immer. Wie kann man da die Rheienfolge ändern? Zuerst sollte OnMouseMove von Form aufgerufen werden, nicht von Steuerelementen. |
Re: Form.OnMouseMove
du meinst wenn du über ein Steuerelement fährst wird das Form.OnMouseMove nicht aufgerufen?
was genau willst du damit denn bezwecken? |
Re: Form.OnMouseMove
Hallo,
Setze eine TApplicationEvents Komponente auf deine Form und ueberpreufe im OnMessage Ereignis die Nachrichten auf WM_MOUSEMOVE.
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); begin if (Msg.message = WM_MOUSEMOVE) then begin Caption := Format('%d:%d', [Mouse.CursorPos.X, Mouse.CursorPos.Y]); end; end; |
Re: Form.OnMouseMove
Zitat:
Ich habe einfach ein Problem mit einem Steuerelement, der reagiert nicht(Handle kaputt). Und ich wollte mit der Mausbewegung dieses Steuerelement wieder aktivieren. |
Re: Form.OnMouseMove
Zitat:
|
Re: Form.OnMouseMove
jo, mit ApplicationEvents hat's wunderbar geklappt. :cheers:
|
Re: Form.OnMouseMove
Hi,
ich versuche sowas wie einen Bildschrimschoner zu bauen, zumindest ist das Prinzip gleich. Einfach, wenn die Maus nicht mehr bewegt wird, soll nach 1sek oder so irgendwas passieren. WOllte das mit dem OnMouseMOve und einem Timer machen, aber der setzt sich, sobald die Maus einmal bewegt wurde... hatte das hier:
Delphi-Quellcode:
Also jedesmal, wenn die Maus bewegt wird, soll der Interval des Timers hochgesetzt werden, so dass er gar nciht ans Ende kommt. Aber das interessiert den Timer wohl im Betrieb nicht. Jmd ne andere Idee?
procedure TForm2.Timer1Timer(Sender: TObject);
begin form2.close; end; procedure TForm2.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin timer1.interval:=6000; end; |
Re: Form.OnMouseMove
Hi,
eventuell ist ja ![]() ![]() EDIT: hast du es schon mal so versucht?
Delphi-Quellcode:
procedure TForm2.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin timer1.Enabled:= false; timer1.Enabled:= true; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz