Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
737 Beiträge
 
Delphi 11 Alexandria
 
#1

Win10: Nach Klick auf Button mittels Leertaste wird OnFormMouseDown nicht ausgelöst

  Alt 29. Jan 2019, 23:25
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...
Michael Gasser
  Mit Zitat antworten Zitat