Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Christian S.,
18. Apr 2004
Wie jedes andere Ereignis und jede andere Memberfunktion auch, muss man "TForm1.DblClick(Sender : TObject)" natürlich noch im interface-Teil in TForm1 deklarieren. So wie Delphi das z.B. mit einem "TForm1.Button1Click(Sender : TObject)" auch tut. Also irgendwie so:
type
TForm1 = class(TForm)
private
procedure theListboxDblClick(Sender : TObject);
public
end;
{...}
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Christian S.,
18. Apr 2004
Hallo!
Ansich ist es ganz einfach, auf solche Windows-Nachrichten zu reagieren. Nehmen wir mal an, die Listbox-Komponente, von der Du ableiten möchtest, heißt "TYourListbox". Dann geht es folgendermaßen:
type TMyListbox = class(TYourListbox)
private
FOnDblClick : TNotifyEvent;
procedure DblClick(var message : TMessage); message WM_LBUTTONDBLCLK;
public
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Christian S.,
17. Apr 2004
Die Zeit für einen Doppelklick ist in der Systemsteuerung verstellbar, diese Lösung ist also nicht gut.
Was man aber machen könnte, ist, eine eigene Komponente von der bestehenden abzuleiten und in der abgeleieten Komponente ein Ereignis OnDblClick zu erstellen, welches die Nachricht WM_LBUTTONDBLCLK verarbeitet.