StepChoiceSelection
Formulare, Interaktion
Beschreibung
Verschiebt die ausgewählte Option eines sichtbaren, beschreibbaren Auswahlfelds um das angeforderte Delta
Der aktuelle Feldwert wird gegen die Export- und Anzeigenamen aller konfigurierten Optionen abgeglichen; wenn keine Option passt, springt ein negatives Delta zur letzten Option, während ein nicht negatives Delta die erste wählt
Das resultierende Ziel wird in die Optionsliste hinein begrenzt, der neue Wert stammt aus dem Exportnamen der Option oder ihrem Anzeigenamen, wenn kein Exportname existiert, und ein unveränderter Wert schließt ohne Aktion oder Bearbeitung ab
Ein sich ändernder Wert fokussiert und bearbeitet das Feld, dispatcht die /K-Tastenanschlagsaktion des Widgets, speichert den neuen transienten Wert und schließt mit CommitEdit ab, sodass /V, /F und OnValueChanged den normalen Commit-Pfad durchlaufen
/K für ein Feld abgelehnt, das zuvor nicht bearbeitet wurde, wird die gerade begonnene Bearbeitung wieder abgebrochen
Deklaration
function StepChoiceSelection(FieldIndex, Delta: Integer): Integer;
Parameter
| FieldIndex | Feld- oder temporärer Widget-Index eines sichtbaren, beschreibbaren Auswahlfelds |
|---|---|
| Delta | Anzahl zu bewegender Optionen, negativ für Rückwärts- und positiv für Vorwärtsschritte |
Rückgabewert
Gibt 1 zurück, wenn der Auswahlschritt abgeschlossen ist oder der Wert bereits übereinstimmte, und 0, wenn das Feld ungültig ist, kein Auswahlfeld ist, schreibgeschützt ist, keine Optionen hat oder eine ausgelöste Aktion oder Übernahme die Änderung abgelehnt hat
Beispiel
// Keyboard path used by DispatchInputEvent for choice fields
Steps := -1; // fikUp moves to the previous option
Handled := Session.StepChoiceSelection(FieldIndex, Steps) = 1;
Siehe auch
CommitEdit, SetEditValue, DispatchInputEvent, BeginEdit, OnValueChanged