共用方式為


WM_VKEYTOITEM訊息

由具有LBS_WANTKEYBOARDINPUT樣式的清單框傳送給其擁有者,以回應WM_KEYDOWN訊息。

WM_VKEYTOITEM

    WPARAM wParam;
    LPARAM lParam; 

參數

wParam

LOWORD 會指定使用者按下之按鍵的虛擬按鍵碼。 HIWORD 會指定插入號的目前位置。

lParam

清單框的句柄。

傳回值

傳回值會指定應用程式回應訊息時所執行的動作。 -2 的傳回值表示應用程式會處理選取專案的所有層面,而且清單框不需要採取任何進一步的動作。 (請參閱。-1 的傳回值表示清單框應該執行預設動作以響應擊鍵。 傳回值 0 或更新值會指定清單框中專案的索引,並指出清單框應該在指定的專案上執行按鍵的預設動作。

備註

-2 的傳回值僅適用於清單框控制項未轉譯成字元的索引鍵。 如果WM_KEYDOWN訊息轉譯為WM_CHAR訊息,而且應用程式會處理因按下按鍵而產生的WM_VKEYTOITEM訊息,清單框會忽略傳回值,並執行該字元的默認處理。 索引鍵所產生的WM_KEYDOWN訊息,例如VK_UP、VK_DOWN、VK_NEXT和VK_PREVIOUS,不會轉譯為WM_CHAR訊息。 在這種情況下,截 獲WM_VKEYTOITEM 訊息並傳回 -2 可防止清單框執行該索引鍵的默認處理。

若要擷取產生char訊息並執行特殊處理的索引鍵,應用程式必須將清單框子類別化、擷取 WM_KEYDOWNWM_CHAR 訊息,並在子類別程式中適當地處理訊息。

上述備註適用於以LBS_WANTKEYBOARDINPUT樣式建立的一般清單框。 如果清單框為擁有者繪製,應用程式必須處理 WM_CHARTOITEM 訊息。

DefWindowProc 函式會傳回 -1。

如果對話框程式處理此訊息,它應該會將所需的傳回值 轉換成 BOOL ,並直接傳回值。 會忽略 SetWindowLong 函式所設定DWL_MSGRESULT值。

需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限傳統型應用程式]
頁首
Winuser.h (包括 Windows.h)

另請參閱

參考

WM_CHARTOITEM

其他資源

HIWORD

LOWORD

WM_KEYDOWN