Delphi 7 / Delphi 10.3
Ich setze einen Button und einen Label auf ein Form und ergänze OnButtonClick und OnFormMouseDown wie folgt:
Delphi-Quellcode:
var t : uint64;
procedure TForm17.Button1Click(Sender: TObject);
begin
label1.caption := 'B';
t := GetTickCount64;
end;
procedure TForm17.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if t <> 0 then
begin
label1.Caption := 'M ' + (gettickcount64-t).ToString;
t := 0;
end;
end;
1. Wenn ich nun das Programm laufen lasse und via <Leertaste> OnButtonClick auslöse und danach sofort irgendwo aufs Form klicke, dann werden solche Klicks auf meinem Win 10 (Build 17763) während ca. w=800ms ignoriert. Erst nach der Zeit w wird durch Klick aufs Form OnFormMouseDown ausgelöst.
2. Wenn ich den OnButtonClick hingegen durch Mausklick auf den Button auslöse und danach sofort irgendwo aufs Form klicke, wird OnFormMouseDown ausgelöst.
3. Wenn ich das gleiche Programm auf einem XP Rechner laufen lasse und via <Leertaste> den Button klicke und danach sofort irgendwo aufs Form klicke, dann wird OnFormMouseDown ausgelöst.
Liegt (1., w=800ms) an Win10 oder irgendwelchen Systemeinstellungen? Kann ich dieses Verhalten durch Setzen von irgendwelchen Werten via mein Programm so beeinflussen, dass w=0 wird?
Besten Dank für jede Idee...