StepChoiceSelection
フォーム、インタラクション
説明
可視で書き込み可能なチョイスフィールドの選択オプションを、要求されたデルタぶん移動します
現在のフィールド値は、設定されたすべてのオプションのエクスポート名と表示名と照合されます。一致するオプションがない場合、負のデルタは最後のオプションへジャンプし、非負のデルタは最初のオプションを選択します
結果のターゲットはオプションリスト内へ切り詰められ、新しい値はオプションのエクスポート名から、エクスポート名がなければ表示名から取られます。値が変わらなければアクションも編集もせずに完了します
値が変わるときは、フィールドにフォーカスして編集を開始し、Widgetの/Kキーストロークアクションをディスパッチし、新しい一時値を保存し、CommitEditで終了します。そのため/V、/F、OnValueChangedは通常のコミット経路を通ります
以前編集中でなかったフィールドの/Kが拒否された場合、開いたばかりの編集は再度キャンセルされます
宣言
function StepChoiceSelection(FieldIndex, Delta: Integer): Integer;
パラメータ
| FieldIndex | 表示可能で書き込み可能な選択肢フィールドのフィールドまたは一時 Widget インデックス |
|---|---|
| Delta | 移動するオプション数。後方で負、前方で正 |
戻り値
選択ステップが完了したか値が既に一致していた場合は 1 を返します。フィールドが不正、選択肢フィールドでない、読み取り専用、オプションがない、またはディスパッチされたアクションや確定が変更を拒否した場合は 0 を返します
例
// Keyboard path used by DispatchInputEvent for choice fields
Steps := -1; // fikUp moves to the previous option
Handled := Session.StepChoiceSelection(FieldIndex, Steps) = 1;
関連項目
CommitEdit, SetEditValue, DispatchInputEvent, BeginEdit, OnValueChanged