StepChoiceSelection
폼, 상호 작용
설명
보이고 쓸 수 있는 초이스 필드의 선택된 옵션을 요청한 델타만큼 움직입니다
현재 필드 값이 구성된 모든 옵션의 내보내기 이름과 표시 이름과 대조되며, 일치하는 옵션이 없으면 음수 델타는 마지막 옵션으로 뛰고 양수 또는 0 델타는 첫 옵션을 고릅니다
결과 대상은 옵션 목록 안으로 잘리고, 새 값은 옵션의 내보내기 이름에서, 없으면 표시 이름에서 취해지며, 값이 그대로면 어떤 액션이나 편집 없이 끝납니다
값이 바뀌면 필드에 포커스를 두고 편집을 시작하고, 위젯 /K 키스트로크 액션을 디스패치하고, 새 임시 값을 저장하고, CommitEdit로 마칩니다. 그래서 /V, /F, OnValueChanged가 보통 커밋 경로를 거칩니다
이전에 편집 중이 아니던 필드의 /K가 거부되면 막 시작한 편집이 다시 취소됩니다
선언
function StepChoiceSelection(FieldIndex, Delta: Integer): Integer;
매개변수
| FieldIndex | 표시되고 쓰기 가능한 콤보 필드의 필드 또는 임시 위젯 인덱스 |
|---|---|
| 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