Ich habe ein Delphi FMX-Formular zur Dateneingabe in einer Android-App programmiert. Diese besteht aus mehreren vertikal angeordneten und mit horizontalen Zentren ausgerichteten Kontrollen. Die Steuerelemente sind auch alle auf einer TVertScrollBox platziert, so dass die Steuerelemente in (und aus) Ansicht gescrollt werden können. Es gibt ein paar TEdits, 2 TComboboxes und 1 TComboEdit. Ich habe auch den folgenden Code zu meiner FormDelphi FMX-Bearbeitung steuert Inkonsistenzen - Wie erstellt man ein Schnelleingabeformular?
procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word;
var KeyChar: Char; Shift: TShiftState);
begin
if Key = vkReturn then
begin
Key := vkTab;
KeyDown(Key, KeyChar, Shift);
end;
end;
Nun hat dieses sagenhaft für die TEdit Kontrollen in das funktioniert kann der Benutzer die Enter-Taste verwenden (in der Regel stelle ich die TEdit.ReturnKeyType
Eigenschaft auf Next), um die Liste der Steuerelemente zu navigieren Geben Sie für jeden Daten ein und drücken Sie die Eingabetaste, um den Fokus auf den nächsten zu verschieben.
Es gibt 2 Probleme hier.
Sobald die Steuerung eine TCombobox ist, verschwindet die virtuelle Tastatur. Mit anderen Worten, es gibt keine
.keyboardtype
oder.ReturnKeyType
Eigenschaft auf einer TCombobox. Nach dem Auswählen eines Eintrags für die Combobox aus der Dropdown-Liste müssen sie also "eingreifen" und das nächste Steuerelement manuell auswählen. Oft vermissen sie.Der TEditCombo ist in der Tat ein merkwürdiger Abkömmling. Es hat eine
.Keyboardtype
Eigenschaft, aber es hat keine.ReturnKeyType
Eigenschaft. Das hat meine Benutzer sehr verwirrt, denn obwohl sie in diese Combobox eingeben können, sagt der Return-Schlüssel nicht "Weiter", wenn dieses Steuerelement den Fokus hat, wie es bei den TEdits der Fall ist.
Wie kann ich alle Steuerelemente auf diese Form der Tastatur zeigen und haben die „Return-Taste“, um die nächste Steuer bewegen, unabhängig von der Art der Stromsteuerung oder die nächste?
War ich privilegiert, Windows-Apps mit der VCL programmiert zu haben?