사용자가 메뉴 항목을 선택할 때 메뉴의 소유자 창으로 전송됩니다.
#define WM_MENUSELECT 0x011F
매개 변수
-
wParam
-
낮은 순서의 단어는 메뉴 항목 또는 하위 메뉴 인덱스를 지정합니다. 선택한 항목이 명령 항목인 경우 이 매개 변수에는 메뉴 항목의 식별자가 포함됩니다. 선택한 항목이 드롭다운 메뉴 또는 하위 메뉴를 여는 경우 이 매개 변수는 주 메뉴에 있는 드롭다운 메뉴 또는 하위 메뉴의 인덱스를 포함하고 lParam 매개 변수에는 주 메뉴에 대한 핸들이 포함됩니다. GetSubMenu 함수를 사용하여 메뉴 핸들을 드롭다운 메뉴 또는 하위 메뉴로 가져옵니다.
상위 단어는 하나 이상의 메뉴 플래그를 지정합니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.
가치 Meaning - MF_BITMAP
- 0x00000004L
항목에 비트맵이 표시됩니다. - MF_CHECKED
- 0x00000008L
항목이 선택되어 있습니다. - MF_DISABLED
- 0x00000002L
항목을 사용할 수 없습니다. - MF_GRAYED
- 0x00000001L
항목이 회색으로 표시됩니다. - MF_HILITE
- 0x00000080L
항목이 강조 표시됩니다. - MF_MOUSESELECT
- 0x00008000L
항목이 마우스로 선택됩니다. - MF_OWNERDRAW
- 0x00000100L
항목은 소유자가 그린 항목입니다. - MF_POPUP
- 0x00000010L
항목이 드롭다운 메뉴 또는 하위 메뉴를 엽니다. - MF_SYSMENU
- 0x00002000L
항목이 창 메뉴에 포함되어 있습니다. lParam 매개 변수는 메시지와 연결된 메뉴에 대한 핸들을 포함합니다. -
lParam
-
주 메뉴에 대한 핸들입니다.
반환 값
애플리케이션이 이 메시지를 처리하는 경우 0을 반환해야 합니다.
비고
이 메시지는 사용자가 열려 있는 메뉴에서 메뉴 항목을 선택할 때 일반적으로 마우스 오버 또는 키보드 탐색을 통해 메뉴의 소유자 창으로 전송됩니다. 메뉴가 닫혀 있으면 사용자가 최상위 메뉴 항목 위로 마우스를 이동할 때 이 메시지가 전송되지 않습니다. 이 메시지는 사용자가 최상위 메뉴 항목을 클릭하거나 ALT 키를 눌러 메뉴를 연 후에만 전송됩니다.
중요합니다
사용자가 메뉴 항목을 클릭하거나 Enter 키를 눌러 선택한 메뉴 항목을 호출하면 메뉴에 대한 MENUINFO 구조체의 dwStyle 멤버 값에 따라 WM_COMMAND 또는 WM_MENUCOMMAND 메시지가 창으로 전송됩니다. 선택한 명령이 호출될 때 해당 메시지를 사용하여 작업을 수행합니다.
wParam의 상위 단어에 0xFFFF 포함되어 있고 lParam 매개 변수에 NULL이 포함된 경우 시스템에서 메뉴를 닫습니다.
이 값은 (UINT) HIWORD(wParam)로 지정되므로 wParam의 상위 단어에 -1 값을 사용하지 마세요. 0xFFFF 서명된 컨텍스트에서 -1 해석될 수 있지만 값이 0xFFFF 경우 UINT로 캐스팅되므로 -1이 아닌 0x0000FFFF 해석됩니다.
예를 들어 이 코드는 -1이 아닌 0xFFFF 확인합니다.
case WM_MENUSELECT:
{
UINT menuItem = LOWORD(wParam);
UINT flags = HIWORD(wParam);
HMENU hMenu = (HMENU)lParam;
// Check for 0xFFFF, not -1.
if (flags == 0xFFFF && hMenu == NULL) {
// No menu item selected (menu closed).
// ...
}
break;
}
요구 사항
| 요구 사항 | 가치 |
|---|---|
| 지원되는 최소 클라이언트 |
Windows 2000 Professional [데스크톱 앱만 해당] |
| 지원되는 최소 서버 |
Windows 2000 Server [데스크톱 앱만 해당] |
| Header |
|
참고하십시오
-
참조
-
개념