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

FieldIndexFeld- oder temporärer Widget-Index eines sichtbaren, beschreibbaren Auswahlfelds
DeltaAnzahl 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