![]() |
Doppelklick und Hotkey
Hallo,
ich muss auf einem Speedbutton mit Doppelklick und z.B. Strg+B reagieren. Hab das nun mit ActionList versucht, das Ereignis reagiert aber nur auf OnExecute, also auf Klick und nicht auf Doppelklick. Gibt es eine Möglichkeit, auf einem Speedbutton mit Doppelklick und auch mit STRG+B zu reagieren? Ich möchte nicht die gleiche Procedure zweimal schreiben müssen - bläst das Programm ja unnötig auf. Bin noch bissl frisch mit Delphi, drum such ich hier nach Hilfe. Vielen Dank für jeden Tip. Gruß beanbear |
AW: Doppelklick und Hotkey
Du kannst an eine Methode an mehrere Ereignisse hängen.
Geh mal zum Doppelklick des SpeedButton und trag dort die selbe Methode ein, wie auch schon am Execute hängt. :zwinker: Und selbst wenn die beiden Methoden nicht kompatibel wären (unterschiedliche Parametersignatur), könnte man immernoch eine eigene Prozedur erstellen und diese in beiden Ereignissen aufrufen. |
AW: Doppelklick und Hotkey
Hi,
wenn ich Dich richtig verstehe, dann wär das so wie ich gemacht hab: Speedbutton mit Caption: "Zurück", dazu ne ActionList. In der ActionList neue Aktion mit der Caption des Speedbuttons eingetragen dazu den ShortCut STRG+B eingetragen. Dann hab ich in der Action1 im OnExecute z.B. Farbe der Form1 auf rot gesetzt (zum Test) Und im OnDblClick des Speedbuttons das Ereignis Action1Execute. Ergebnis: Das funktioniert nicht.. :-( Der ShortCut STRG+B reagiert, aber nicht der Doppelklick auf den Speedbt. Was mach ich hier falsch? Gruß beanbear |
AW: Doppelklick und Hotkey
Wenn Du Dir in Buttons anschaust wie bei Speedbutton WM_LBUTTONDBLCLK implementiert ist, siehst Du warum dies nur unter bestimmten Umständen funktioniert.
Gegf. die Klasse überschreiben ... und anders implementieren. |
AW: Doppelklick und Hotkey
Hi Bummi,
da ich wie bereits gepostet noch nicht so fit bin in Delphi kann ich mit Deinem Posting leider nichts anfangen... (is aber nicht böse gemeint) :-) Gruß beanbear |
AW: Doppelklick und Hotkey
Delphi-Quellcode:
type
TSpeedbutton=Class(Buttons.TSpeedButton) procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK; End; TForm5 = class(TForm) SpeedButton1: TSpeedButton; procedure SpeedButton1DblClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form5: TForm5; implementation {$R *.dfm} procedure TForm5.SpeedButton1DblClick(Sender: TObject); begin Showmessage('Hallo') end; { TSpeedbutton } procedure TSpeedbutton.WMLButtonDblClk(var Message: TWMLButtonDblClk); begin if Assigned(OnDBLClick) then OnDBLClick(Self) end; |
AW: Doppelklick und Hotkey
Hallo Bummi,
habs hingekriegt. Vielen Dank Dir!!! Gruß Reiner |
AW: Doppelklick und Hotkey
:thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 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