관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

AppendMenu(A) 본문

API 관련/Win32 API 함수

AppendMenu(A)

님투 2007. 11. 8. 22:32
반응형

AppendMenu(A)

메뉴 말미에 메뉴 아이템을 추가합니다.

AppendMenu함수는InsertMenuItem함수에 교체되었습니다만, 아직 사용할 수 있습니다.

BOOL AppendMenuA(
    HMENU  hMenu,   // 메뉴 핸들
    UINT   uFlags,  // 옵션 플래그
    UINT   uIDItem, // 아이템ID또는 부메뉴 핸들
    PCTSTR pItem    // 표시하는 문자열
);

USER32.DLL

인수

hMenu

쇼트 컷 메뉴의 핸들을 지정합니다. CreateMenu함수 또는 CreatePopupMenu함수에 의해서 작성된 메뉴를 지정합니다.

uFlags

메뉴 아이템의 옵션을 지정합니다.이하의 값의 편성으로 지정합니다.

0x00000000 (MF_STRING, MF_ENABLED, MF_UNCHECKED)
디폴트 표시입니다.
0x00000003 (MFS_GLAYED, MFS_DISABLED)
아이템을 회색으로 표시해, 선택 불가로 합니다.
0x00000004 (MF_BITMAP)
아이템으로서 비트 맵을 사용합니다.
0x00000008 (MFS_CHECKED)
아이템에 체크 마크를 붙입니다.
0x00000010 (MF_POPUP)
드롭 다운 메뉴 또는 부메뉴를 여는 아이템을 추가합니다.
0x00000020 (MF_MENUBARBREAK)
도구모음에 대해서는 메뉴 아이템을 새로운 행에 배치합니다.드롭 다운 메뉴·부메뉴·쇼트 컷 메뉴에 대해서는 메뉴 아이템을 새로운 열에 배치합니다.드롭 다운 메뉴·부메뉴·쇼트 컷 메뉴에서는 새로운 열과의 사이에 선이 끌립니다.
0x00000040 (MF_MENUBREAK)
도구모음에 대해서는 메뉴 아이템을 새로운 행에 배치합니다.드롭 다운 메뉴·부메뉴·쇼트 컷 메뉴에 대해서는 메뉴 아이템을 새로운 열에 배치합니다.드롭 다운 메뉴·부메뉴·쇼트 컷 메뉴에서는 새로운 열과의 사이에는 선이 끌리지 않습니다.
0x00000100 (MF_OWNERDRAW)
아이템이 오나드로아이템이라고 지정합니다.메뉴가 최초로 표시되기 직전에, 메뉴를 소유하는 윈도우는WM_MEASUREITEM메세지를 받아들입니다.그 후, 메뉴 아이템의 표시가 갱신될 때마다,WM_DRAWITEM메세지가 오너 윈도우에 송신됩니다.
0x00000800 (MF_SEPARATOR)
세퍼레이터(단락선)를 표시합니다.
uIDItem

아이템의 ID (을)를 지정합니다.

uFlags파라미터에0x00000010 (MF_POPUP) (을)를 지정했을 경우는, 드롭 다운 메뉴 또는 부메뉴의 핸들을 지정합니다.

pItem

메뉴 아이템에 표시하는 문자열의 주소를 지정합니다.

uFlags파라미터에0x00000004 (MF_BITMAP) (을)를 지정했을 경우는 표시하는 비트 맵의 핸들을 지정합니다.

uFlags파라미터에0x00000100 (MF_OWNERDRAW) (을)를 지정했을 경우는, 메뉴 아이템에 관한 추가 데이터를 취득하기 위해서 사용되는 어플리케이션 정의의 값을 지정합니다.이 값은, 메뉴가 작성·표시의 갱신 시에 보내진다WM_MEASUREITEMWM_DRAWITEM메세지의lParam파라미터가 가리키는 구조체의itemData멤버의 값입니다.

반환값

성공하면0이외의 값이 돌아갑니다.

실패하면0하지만 돌아갑니다.확장 에러 정보를 취득하려면 , GetLastError함수를 사용합니다.

해설

윈도우 메뉴를 변경했을 경우는, 메뉴가 표시되고 있는지 어떤지에 관련되지 않고, DrawMenuBar함수를 사용해 메뉴를 재묘화 할 필요가 있습니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

CloseHandle  (0) 2007.11.08
ClientToScreen  (0) 2007.11.08
ChooseFont(A)  (0) 2007.11.08
CheckMenuItem  (0) 2007.11.08
BitBlt  (0) 2007.11.08
Comments