Udostępnij za pośrednictwem


CListBox::VKeyToItem

Wywołana w ramach po odebraniu okno nadrzędne pola listy WM_VKEYTOITEM komunikat w polu listy.

virtual int VKeyToItem(
   UINT nKey,
   UINT nIndex 
);

Parametry

  • nKey
    Kod klucza wirtualnego klucza użytkownik nacisnął klawisz.Wykaz standardowych kodów klucza wirtualnego Zobacz pliku Winuser.h

  • nIndex
    Bieżąca pozycja kursora w polu listy.

Wartość zwracana

Zwraca – 2 żadne dalsze działania – 1, domyślnego działania, liczba nieujemna, aby określić indeks elementu pola listy, na którym wykonuje akcję domyślnego naciśnięcia klawisza.

Uwagi

WM_VKEYTOITEM Wiadomość jest wysyłana przez pole listy, gdy odbiera WM_KEYDOWN wiadomości, ale tylko jeśli pole listy spełnia oba z następujących:

Powinno się nigdy wywoływać tej funkcji samodzielnie.Zastąpić własną niestandardową obsługę wiadomości klawiatury tej funkcji.

Musi zwracać wartość w ramach stwierdzić, jakie działania wykonywane na zastępowanie.Wartość zwracana – 2 wskazuje, że aplikacja obsługi wszystkich aspektów zaznaczenie elementu i wymaga podejmowania dalszych działań przez pole listy.Przed zwróceniem – 2, może ustawić zaznaczenie lub przenoszenie kursora lub oba.Aby ustawić zaznaczenie, należy SetCurSel lub SetSel.Aby przenieść kursora, SetCaretIndex.

Wartość zwracana – 1 wskazuje, że pole listy, należy wykonać akcję domyślną w odpowiedzi na naciśnięcie klawisza.Zwraca wartość domyślna implementacja – 1.

Zwracana wartość 0 lub większa Określa indeks elementu w polu listy i wskazuje, że pole listy, należy wykonać akcję domyślną dla klawiszy na danego elementu.

Przykład

// 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;
}

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CListBox

Wykres hierarchii

CListBox::CharToItem

CListBox::SetCurSel

CListBox::SetSel

CListBox::SetCaretIndex