CListBox::VKeyToItem

Chamada pela estrutura quando o lista pai janela da caixa recebe um WM_VKEYTOITEM mensagem do lista caixa.

virtual int VKeyToItem(
   UINT nKey,
   UINT nIndex 
);

Parâmetros

  • nKey
    O código de tecla virtual da chave que o usuário pressionou.Para obter uma lista de códigos de chave virtual padrão, consulte WinUser.h

  • nIndex
    A posição corrente do lista-caixa cursor.

Valor de retorno

Retorna – 2 para nenhuma outra ação, – 1 para a ação padrão ou um número não negativo para especificar um índice de um lista item de caixa na qual deseja executar a ação padrão para o pressionamento de tecla.

Comentários

The WM_VKEYTOITEM mensagem é enviada com o lista caixa quando ele recebe um WM_KEYDOWN mensagem, mas apenas se o lista caixa atende a ambos os procedimentos a seguir:

Nunca devem telefonar isso funcionar por conta própria.Substitua esta função para fornecer sua própria manipulação personalizada das mensagens de teclado.

Você deve retornar um valor para informar a estrutura que ação sua substituir realizada.Um valor retornado de – 2 indica que o aplicativo tratados todos os aspectos de selecionando o item e não requer mais nenhuma ação na caixa da lista.Retornando antes – 2, você pode conjunto a seleção ou mover o cursor ou ambos.Para conjunto a seleção, use SetCurSel or SetSel.Para mover o cursor, use SetCaretIndex.

Um valor retornado de – 1 indica que o lista caixa deve executar a ação padrão em resposta ao keystroke.The padrão implementação retorna – 1.

Um valor de 0 ou maior retorno Especifica o índice de um item na lista caixa e indica que o lista caixa deve executar a ação padrão para o pressionamento de tecla no item específico.

Exemplo

// CMyODListBox is my owner-drawn list box derived from CListBox. This 
// example moves the caret down one item on the down key and up one item 
// on the up key. The list box control was created with the following 
// code:
//   m_myODListBox.Create(
//      WS_CHILD|WS_VISIBLE|WS_BORDER|WS_HSCROLL|WS_VSCROLL|
//      LBS_SORT|LBS_MULTIPLESEL|LBS_OWNERDRAWVARIABLE|LBS_WANTKEYBOARDINPUT,
//      CRect(10,250,200,450), pParentWnd, IDC_MYODLISTBOX);
//
int CMyODListBox::VKeyToItem(UINT nKey, UINT nIndex)
{
   // On key up, move the caret up one item.
   if ((nKey == VK_UP) && (nIndex > 0))
   {
      SetCaretIndex(nIndex-1);
   }
   // On key down, move the caret down one item.
   else if ((nKey == VK_DOWN) && (nIndex < (UINT)GetCount()))
   {
      SetCaretIndex(nIndex+1);
   }

   // Do not perform any default processing.
   return -2;
}

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CListBox

Gráfico de hierarquia

CListBox::CharToItem

CListBox::SetCurSel

CListBox::SetSel

CListBox::SetCaretIndex

Outros recursos

CListBox membros