Dieses Problem hatte ich vor Jahren mal mit Komponemten von KsDev (ThemeEngine, SkinEngine).
Es war nur lösbar mit Hilfe einer boolschen Zwischen-Variablen, die beim ersten Auslösen gesetzt wird und wenn gesetzt, der Klick nicht ausgeführt wird und sie zurück gesetzt wird.
Beispiel:
Delphi-Quellcode:
var isClicked: Boolean = False;
procedure IrgendwasDoubleClick(Sender: TObject);
begin
if isClicked then begin
isClicked := False;
Exit;
end else begin
isClicked := True;
// jetzt was tun
end;
Na ja das ging einfacher
Clicked = not Clicked
Is Clicked then...
Aber das lößt nicht mein problem da ich die Engine ja selbst geschrieben habe mit
WInAPI mitteln.
Ich frage mich nur woher das zweite click event ausgelöst wird.
gruss