Eigentlich ich dieses Problem leicht zu lösen:
Bei einem Click gibt es folgende Messages:
wm_LButtonDown
wm_LButtonUp
Bei einem DoppelClick gibt es folgende Messages:
wm_LButtonDown
wm_LButtonUp
wm_LButtonUp
Man setzt eine globale Variable BU auf 0 mit dem Auftreten von wm_LButtonDown.
wm_LButtonUp erhöht sie um 1.
Bei BU>1 wird die gewünschte DBLCLICK-Aktion ausgeführt.
Delphi-Quellcode:
private
procedure MyMouseEvent(
var Msg: TMsg;
var Handled: Boolean);
....
var BU : Cardinal;
...
procedure TForm2.MyMouseEvent(
var Msg: TMsg;
var Handled: Boolean);
BEGIN
case Msg.
message of
wm_LButtonDown:
BEGIN BU:=0;
END;
wm_LButtonUp:
BEGIN INC(BU);
END;
else begin end;
end;
if BU>1
then BEGIN WinApi.Windows.Beep(1500,50); BU:=0;
END;
END;