Du kannst entweder eine eigene WindowProc Methode schreiben, dort das WM_LBUTTONDBLCLK abfangen (1.Beispiel), oder einen kleinen Hack benutzen (2.Beispiel)
Delphi-Quellcode:
type
TForm1 = class(TForm)
...
private
FOldButtonWndProc: TWndMethod;
procedure NewButtonWndProc(var Message: TMessage);
...
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
FOldButtonWndProc:= Button1.WindowProc;
Button1.WindowProc := NewButtonWndProc;
end;
procedure TForm1.NewButtonWndProc(var Message: TMessage);
begin
if Message.Msg <> WM_LBUTTONDBLCLK then
begin
FOldButtonWndProc(Message);
end;
end;
Delphi-Quellcode:
// Das hier direkt nach dem uses des interface Teils deiner Form
type
TButton = class(StdCtrls.TButton)
protected
procedure WndProc(var Message: TMessage); override;
end;
...
implementation
procedure TButton.WndProc(var Message: TMessage);
begin
if Message.Msg <> WM_LBUTTONDBLCLK then
begin
inherited;
end;
end;