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