![]() |
SpeedButton und Handles
Ich habe angefangen ein kleines Spaßprogramm zu proggen, nachdem Start wird der Mauszeiger Schritt für Schritt zu einem Knopf geführt. Dann soll dieser gedrückt werden, es geht dabei um zwei Sachen:
1. Der Anwender muss sehen können das der Button gedrückt wird 2. das Führen mache ich per Timer, es wird über WindowFromPoint(Mouse.CursorPos) = Button.Handle überprüft ob der Cursor da ist Erst habe ich einen Button genommen, Problem 1: Ich weiß nicht, wie ich den Button "drücken" soll, das es der Anwender sieht, also habe ich einen SpeedButton genommen 2. Problem: Der SpeedButton hat's mir auf die Art schon :kotz: ganz schön gegeben: Jetzt kann ich das XPDesign in die Tonne hauen! Dann habe ich das M...Ding eingebaut, für Down umprogrammiert :evil: , jetzt merke ich das das Ding kein Handle besitzt :wall: Gibt's an einem SpeedButton irgendwein Handle, welches mit der oben genannten Methode funkzionieren würde? Danke schonmal! :angle: |
Re: SpeedButton und Handles
Zuerst die schlechte Nachricht:
Da der SpeedButton von TGraphicControl abgeleitet ist, besitzt er kein eigenes Handle. Und dann die gute :wink: : Dein Problem 1 sollte sich auch mit einem normalen Button und der Nachricht BM_SETSTATE, mit der du das Klicken simulieren kannst, lösen lassen. |
Re: SpeedButton und Handles
Delphi-Quellcode:
Das sieht dass etwa so aus:
Dein Problem 1 sollte sich auch mit einem normalen Button und der Nachricht BM_SETSTATE, mit der du das Klicken simulieren kannst, lösen lassen.
Delphi-Quellcode:
procedure TForm1.Button2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); const {$j+}bPushed : Boolean = True;{$j-} begin if FindVCLWindow(Mouse.CursorPos) = TButton(Sender) then begin Button2.Perform(BM_SETSTATE,Ord(bPushed),0); bPushed := not bPushed; end; end; |
Re: SpeedButton und Handles
Super! Danke! Damit hat sich doch auch mein anderes Problem gelöst! Denn wenn ich TButton nehmen kann, kann ich ja, weil er's besitzt auch mit Handles arbeiten! :thuimb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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