일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- IfInString
- 식
- SetKeyDelay
- 배열
- Menu
- StringGetPos
- SetMouseDelay
- IfWinExist
- Threads
- SetEnv
- EnvAdd
- ControlGetText
- Var:=식
- 함수
- Blocks
- if
- IF (식)
- EnvSet
- SetControlDelay
- ControlSend
- 식의 설명
- API
- EnvDiv
- SetTitleMatchMode
- DetectHiddenWindows
- EnvMult
- autohotkey
- MouseClick
- if(식)
- EnvSub
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
MENUITEMINFO 본문
MENUITEMINFO
메뉴 아이템의 정보를 정의합니다.이 구조체는 GetMenuItemInfo 함수 및 SetMenuItemInfo 함수로 사용됩니다.
typedef struct tagMENUITEMINFO { UINT cbSize; // 구조체의 사이즈 UINT fMask; // 취득 또는 설정하는 멤버 UINT fType; // 아이템의 타입 UINT fState; // 아이템 상태 UINT wID; // 아이템ID HMENU hSubMenu; // 부메뉴의 핸들 HBITMAP hbmpChecked; // 체크 표시시의 비트 맵 HBITMAP hbmpUnchecked; // 체크비표시시의 비트 맵 ULONG_PTR dwItemData; // 임의의32비트치 LPTSTR dwTypeData; // 아이템의 내용 UINT cch; // 아이템의 문자열의 길이 HBITMAP hbmpItem; // 비트 맵 핸들 } MENUITEMINFO, *LPMENUITEMINFO;
멤버
- cbSize
-
MENUITEMINFO 구조체의 사이즈를 아르바이트 단위로 지정합니다. 48 (을)를 지정합니다.
- fMask
-
설정 또는 취득하는 정보의 멤버를 지정합니다.이하의 값의 편성을 지정합니다.
치 유효한 멤버 0x00000001 (MIIM_STATE) fState 0x00000002 (MIIM_ID) wID 0x00000004 (MIIM_SUBMENU) hSubMenu 0x00000008 (MIIM_CHECKMARKS) hbmpChecked, hbmpUnchecked 0x00000010 (MIIM_TYPE) fType, dwTypeData Windows 98/Me/2000/XP: 이 플래그는 MIIM_BITMAP, MIIM_FTYPE, MIIM_STRING 에 교체되었습니다.
0x00000020 (MIIM_DATA) dwItemData 0x00000040 (MIIM_STRING) Windows 98/2000 이후: dwTypeData 0x00000080 (MIIM_BITMAP) Windows 98/2000 이후: hbmpItem 0x00000100 (MIIM_FTYPE) Windows 98/2000 이후: fType - fType
-
메뉴 아이템의 형태를 나타냅니다.이하의 값의 편성을 지정합니다.
치 의미 0x00000000 (MFT_STRING) 문자열을 사용해 아이템을 표시합니다. dwTypeData 멤버는 문자열의 주소, cch 멤버는 문자열의 사이즈를 나타냅니다.
Windows 98/2000 이후: hbmpItem 멤버의 MIIM_STRING 에 교체되었습니다.
0x00000004 (MFT_BITMAP) 아이템에 비트 맵을 표시합니다. dwTypeData 멤버의 하위 워드는 비트 맵 핸들을 나타냅니다.
Windows 98/2000 이후: hbmpItem 멤버의 MIIM_BITMAP (와)과 hbmpItem 멤버에 교체되었습니다.
0x00000010 (MFT_MENUBARBREAK) 도구모음에 대해서는 메뉴 아이템을 새로운 행에 배치합니다.드롭 다운 메뉴·부메뉴·쇼트 컷 메뉴에 대해서는 메뉴 아이템을 새로운 열에 배치합니다.드롭 다운 메뉴·부메뉴·쇼트 컷 메뉴에서는 새로운 열과의 사이에 선이 끌립니다.
0x00000020 (MFT_MENUBREAK) 도구모음에 대해서는 메뉴 아이템을 새로운 행에 배치합니다.드롭 다운 메뉴·부메뉴·쇼트 컷 메뉴에 대해서는 메뉴 아이템을 새로운 열에 배치합니다.드롭 다운 메뉴·부메뉴·쇼트 컷 메뉴에서는 새로운 열과의 사이에는 선은이 끌리지 않습니다.
0x00000100 (MFT_OWNERDRAW) 오나드로·메뉴 아이템인 것을 나타냅니다.메뉴 아이템의 묘화를 오너 윈도우가 행합니다.오너 윈도우는 WM_MEASUREITEM 메세지 및 WM_DRAWITEM 메세지를 처리할 필요가 있습니다.이 값이 지정되었을 경우는, dwTypeData (은)는 어플리케이션 정의치를 나타냅니다.(HSP에서는 사용할 수 없습니다)
0x00000200 (MFT_RADIOCHECK) hbmpChecked 멤버가 0 (NULL) 때, 체크 마크 대신에 라디오 버튼을 표시합니다.
0x00000800 (MFT_SEPARATOR) 세퍼레이터(단락선)를 표시합니다.
0x00002000 (MFT_RIGHTORDER) Windows 95/2000 이후: 아라비아어나 헤브라이어등의 시스템으로 문자열을 오른쪽에서 왼쪽으로 표시합니다.
0x00004000 (MFT_RIGHTJUSTIFY) 이후의 아이템을 도구모음의 우측으로 배치합니다.도구모음의 아이템에만 유효합니다.
MFT_STRING, MFT_BITMAP, MFT_SEPARATOR (은)는 동시에 지정할 수 없습니다.
Windows 98/2000 이후: 이 멤버는, fMask 멤버에 MIIM_FTYPE 하지만 지정되었을 때에 마셔 사용됩니다.
- fState
-
메뉴 아이템 상태를 나타냅니다.이하의 값의 편성을 지정합니다.
치 의미 0x00000000 (MFS_ENABLED, MFS_UNCHECKED, MFS_UNHILITE) 통상 표시로 합니다.
0x00000003 (MFS_GLAYED, MFS_DISABLED) 아이템을 회색으로 표시해, 선택 불가로 합니다.
0x00000008 (MFS_CHECKED) 아이템에 체크 마크를 붙입니다.
0x00000080 (MFS_HILITE) 아이템을 하이라이트 표시합니다.
0x00001000 (MFS_DEFAULT) 디폴트 아이템으로 설정합니다.디폴트 아이템은1개의 메뉴에 대해서1개까지 가질 수 있습니다.디폴트 아이템은 굵은 글씨로 표시됩니다.
- wID
-
메뉴 아이템 ID (을)를 나타냅니다.이 멤버는 fMask 멤버에 MIIM_ID (을)를 지정해 있을 때 마셔 유효합니다.
- hSubMenu
-
부메뉴 또는 드롭 다운 메뉴의 핸들을 나타냅니다.부메뉴를 가지지 않는 경우는 0 (NULL) (이)가 됩니다.이 멤버는 fMask 멤버에 MIIM_SUBMENU (을)를 지정해 있을 때 마셔 유효합니다.
- hbmpChecked
-
아이템이 체크되었을 때에 아이템의 근처에 표시하는 비트 맵의 핸들을 나타냅니다. 0 (NULL) 의 경우는 디폴트 비트 맵이 사용됩니다.디폴트 비트 맵은, fType 멤버에 MFT_RADIOCHECK 하지만 지정되어 있을 때는 라디오 버튼에, 그렇지 않을 때에는 체크 마크가 됩니다.이 멤버는 fMask 멤버에 MIIM_CHECKMARKS (을)를 지정해 있을 때 마셔 유효합니다.
- hbmpUnchecked
-
아이템이 체크되어 있지 않을 때에 아이템의 근처에 표시하는 비트 맵의 핸들을 나타냅니다. 0 (NULL) 의 경우는 아무것도 표시되지 않습니다.이 멤버는 fMask 멤버에 MIIM_CHECKMARKS (을)를 지정해 있을 때 마셔 유효합니다.
- dwItemData
-
아이템에 관련지을 수 있었던 어플리케이션 정의의32비트치입니다.
- dwTypeData
-
메뉴 아이템의 내용을 나타냅니다.이 멤버의 의미는 fType 멤버의 값에 의존합니다.이 멤버는 fMask 멤버에 MIIM_TYPE (을)를 지정해 있을 때 마셔 유효합니다.
MFT_STRING 형태의 아이템의 정보를 취득하려면 , 우선 이 멤버에 0 (NULL) (을)를 지정해 GetMenuItemInfo 함수를 호출합니다.이 때, cch 멤버에는 아이템의 텍스트를 격납하는데 필요한 버퍼의 사이즈(Unicode 판에서는 문자수)가 격납됩니다.버퍼를 확보한 후, 이 멤버에 버퍼 주소를 지정해 다시 GetMenuItemInfo 함수를 호출합니다.
그 외의 형태의 아이템의 정보를 취득하는 경우는, GetMenuItemInfo 함수를 호출하면 fType 멤버에 의해서 지정되는 값이 이 멤버에 격납됩니다.
SetMenuItemInfo 함수를 사용해 아이템을 설정하는 경우는, fType 멤버에 의해서 요구되는 값을 이 멤버로 지정합니다.
Windows 98/2000 이후: 이 멤버는 fMask 멤버에 MIIM_STRING (을)를 지정해 있을 때 유효합니다.
- cch
-
MFT_STRING 형태의 아이템의 정보를 취득할 때는, 아이템의 텍스트를 격납하는 버퍼의 아르바이트수(Unicode 판의 경우는 문자수)를 지정합니다.이 멤버는 fMask 멤버에 MIIM_TYPE (을)를 지정해 있을 때 마셔 유효합니다.그 이외의 경우는 이 멤버는 0 (이)가 됩니다.
Windows 98/2000 이후: 이 멤버는 fMask 멤버에 MIIM_STRING (을)를 지정해 있을 때 유효합니다.
- hbmpItem
-
Windows 98/2000 이후: 표시되는 비트 맵의 핸들 또는 이하의 값의 어느쪽이든을 나타냅니다.이 멤버는 fMask 멤버에 MIIM_BITMAP (을)를 지정해 있을 때 마셔 유효합니다.
치 표시되는 비트 맵 -1 (HBMMENU_CALLBACK) 비트 맵은 메뉴를 소유하는 윈도우에 의해서 묘화 됩니다.어플리케이션은 WM_MEASUREITEM 및 WM_DRAWITEM 메세지를 처리하지 않으면 안됩니다.
1 (HBMMENU_SYSTEM) Windows 아이콘 또는 dwItemData 멤버로 지정되는 윈도우의 아이콘이 묘화 됩니다.
2 (HBMMENU_MBAR_RESTORE) 도구모음의 「원의 사이즈에 되돌린다」버튼
3 (HBMMENU_MBAR_MINIMIZE) 도구모음의 「최소화」버튼
5 (HBMMENU_MBAR_CLOSE) 도구모음의 「닫는다」버튼
6 (HBMMENU_MBAR_CLOSE_D) 비표시의 도구모음의 「닫는다」버튼
7 (HBMMENU_MBAR_MINIMIZE_D) 비표시의 도구모음의 「최소화」버튼
8 (HBMMENU_POPUP_CLOSE) 부메뉴의 「닫는다」버튼
9 (HBMMENU_POPUP_RESTORE) 부메뉴의 「원의 사이즈에 되돌린다」버튼
10 (HBMMENU_POPUP_MAXIMIZE) 부메뉴의 「최대화」버튼
11 (HBMMENU_POPUP_MINIMIZE) 부메뉴의 「최소화」버튼
해설
메뉴에는 텍스트 또는 비트 맵을 사용한 아이템을 표시시킬 수 있습니다만, 양쪽 모두를 동시에 사용할 수 없습니다.
Windows 98/2000 이후: 메뉴는 텍스트, 비트 맵, 및 그 양쪽 모두를 사용한 아이템을 표시시킬 수 있습니다.
대응 정보
Windows 95 이후 / Windows NT 4.0 이후
변수와의 대응
HSP 변수 | 멤버 | ||
---|---|---|---|
멤버명 | 오프셋 | 사이즈 | |
mii.0 | cbSize ( = 48 ) | 0 | 4 |
mii.1 | fMask | 4 | 4 |
mii.2 | fType | 8 | 4 |
mii.3 | fState | 12 | 4 |
mii.4 | wID | 16 | 4 |
mii.5 | hSubMenu | 20 | 4 |
mii.6 | hbmpChecked | 24 | 4 |
mii.7 | hbmpUnchecked | 28 | 4 |
mii.8 | dwItemData | 32 | 4 |
mii.9 | dwTypeData | 36 | 4 |
mii.10 | cch | 40 | 4 |
mii.11 | hbmpItem | 44 | 4 |
'API 관련 > Win32 API 함수' 카테고리의 다른 글
WM_USER (0) | 2007.11.09 |
---|---|
레지스트리의 값의 형태 (0) | 2007.11.09 |
BROWSEINFO (0) | 2007.11.09 |
WM_RBUTTONUP (0) | 2007.11.09 |
WM_RBUTTONDOWN (0) | 2007.11.09 |