ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 메뉴 - Win32
    GUI/컨트롤 2009. 1. 19. 22:32
    Windows는 또한 다이얼로그와 같은 팝업 윈도우 상의 메뉴를 지원한다.
    자식 윈도우는 메뉴를 가질 수 없다. // 컨텍스트 메뉴

    메뉴
    WM_COMMAND에서 validation을 한다.
    액셀러레이터
    툴바
    버튼

    메뉴 바
    명령 항목
    체크 표시
    라디오 메뉴 항목
    팝업 항목

    팝업 메뉴

    LoadMenu() // 메뉴바?
    DestroyMenu()
    SetMenu()
    GetMenu()
    CreateMenu()
    CreatePopupMenu()
    AppendMenu()
    MF_POPUP
    MF_STRING
    MF_BITMAP
    InsertMenu()
    InsertMenuItem()
    GetSubMenu() // 팝업 메뉴?
    DeleteMenu()
    CheckMenuItem()
    MF_BYCOMMAND

    MF_CHECKED|MF_UNCHECKED
    CheckMenuRadioItem()
    GetMenuState()
    EnableMenuItem()
    MF_ENABLED
    MF_GRAYED
    ModifyMenu()
    MF_STRING
    MF_OWNERDRAW
    on WM_MEASUREITEM
    on WM_DRAWITEM
    TrackPopupMenu() // 팝업 메뉴
    TPM_LEFTALIGN
    c.f. LoadMenu(), GetSubMenu()
    TrackPopupMenuEx()
    SetMenuItemBitmaps()
    GetSystemMenu()

    on WM_INITMENU // 메인 메뉴
    메인 메뉴의 팝업 메뉴가 펼쳐질 때 마다 발생 // ?
    CheckMenuItem(), CheckMenuRadioItem(), EnableMenuItem()
    c.f. TrackPopupMenu()
    on WM_INITMENUPOPUP
    on WM_CONTEXTMENU // (플로팅 )팝업 메뉴
    ScreenToClient()
    TrackPopupMenu()
    on WM_MENUSELECT
    on WM_HELP
    on WM_MENURBUTTONUP
    TrackPopupMenuEx() // TPM_RECURSE
    윈도우에 메뉴를 붙이는 방법
    윈도우 클래스에 메뉴를 등록
    CreateWindow에서 메뉴를 지정
    SetMenu()
    LoadMenu()
    CreateMenu()

    단축키

    다이얼로그 박스의 메뉴는 리소스에서 설정하거나 WM_INITDIALOG에서 SetMenu()


    참조 사이트:

Designed by Tistory.