StepChoiceSelection

Formulários, interação

Descrição

Move a opção selecionada de um campo de lista visível e gravável pelo desvio pedido

O valor atual do campo é confrontado com os nomes de exportação e os nomes de apresentação de todas as opções configuradas e, quando nenhuma opção corresponde, um desvio negativo salta para a última opção enquanto um desvio não negativo seleciona a primeira

O alvo resultante é limitado à lista de opções, o novo valor é retirado do nome de exportação da opção ou do respetivo nome de apresentação quando não existe nome de exportação, e um valor inalterado conclui sem qualquer ação ou edição

Um valor que muda foca e edita o campo, envia a ação de tecla /K do widget, guarda o novo valor transitório e termina com CommitEdit, pelo que /V, /F e OnValueChanged correm pelo caminho de consolidação normal

Quando /K é vetado num campo que não estava a ser editado, a edição acabada de iniciar é novamente cancelada

Declaração

function StepChoiceSelection(FieldIndex, Delta: Integer): Integer;

Parâmetros

FieldIndexÍndice do campo ou do Widget temporário de um campo de escolha visível e gravável
DeltaNúmero de opções a mover; negativo para passos para trás e positivo para passos para a frente

Valor devolvido

Devolve 1 quando o passo de seleção terminou ou o valor já correspondia, e 0 quando o campo é inválido, não é um campo de escolha, é só de leitura, não tem opções, ou uma ação expedida ou uma confirmação recusou a alteração

Exemplo

// Keyboard path used by DispatchInputEvent for choice fields
Steps := -1; // fikUp moves to the previous option
Handled := Session.StepChoiceSelection(FieldIndex, Steps) = 1;

Consulte também

CommitEdit, SetEditValue, DispatchInputEvent, BeginEdit, OnValueChanged