Mit Delphi XE8, Firemonkey Mehrgeräteform.Firemonkey Ton beim Drücken der Eingabetaste auf OSX
In einem Standard-TEdit eingerichtet für eine Passworteingabe, kann ich nicht den Standard-Alarmton stoppen, wenn der Benutzer die Eingabetaste drückt (unter OSX), Windows funktioniert gut.
Ich habe folgendes in die Ereignisse KeyDown und KeyUp versucht Einstellung:
procedure TfrmMain.txtPasswordPromptKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
begin
if (Key = vkReturn) and (btnPasswordPromptGo.Tag = 0) then begin
Key := vkNone;
KeyChar := #0;
btnPasswordPromptGoClick(sender);
end;
end;
procedure TfrmMain.txtPasswordPromptKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
begin
if (Key = vkReturn) and (btnPasswordPromptGo.Tag = 0) then begin
Key := vkNone;
KeyChar := #0;
end;
end;
Der Klang noch auf OSX spielt. Weiß jemand, wie man das stoppt?
In einer VCL-Anwendung würden Sie nicht von diesem Code schreiben müssen. Sie würden einfach die Eigenschaft 'Default' auf der Schaltfläche OK auf true setzen. Funktioniert FMX nicht so? –
Wow, in all den Jahren, in denen ich die Eigenschaften "Abbrechen" und "Standard" verwendet habe, habe ich nie bemerkt, dass der Standard-Signalton auch aus einem Textfeld entfernt wird! Danke, das funktioniert. Es stellte sich heraus, dass ich das übersehen habe, weil ich einen TCornerButton verwendet habe, der nicht die Default-Eigenschaft hat, aber ich konnte es in nur eine TButton ändern. – MikeD