菜单:
1) 载入菜单资源
1. 为主窗口载入菜单:
WNDCLASS wcex;
wcex.lpszMenuName =MAKEINTRESOURCE(IDC_MY);
2. 创建自己的窗口时在入菜单资源:
hwnd=CreateWindow(szAppName,
TEXT("菜单资源"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
LoadMenu(hinstance,MAKEINTRESOURCE(IDR_MENU)),
NULL,
hinstance,
NULL
);
3. 创建下拉菜单:
HINSTANCE hInstance=GetModuleHandle(NULL); // GetModuleHandle(NULL)获取主调线程的句柄
HMENU hMenu = LoadMenu (hInstance, MAKEINTRESOURCE(IDC_MUSICTEST)) ;
HMENU hMenuTrackPopup = GetSubMenu(hMenu,0); //0指的是菜单资源的第一列,自然第二列就是1,以此类推...
POINT point;
GetCursorPos(&point);//获取鼠标指针当前位置
TrackPopupMenu(hMenuTrackPopup,TPM_RIGHTBUTTON,point.x,point.y,0,hWnd,NULL);//在光标位置弹出菜单
4.创建POP菜单:
#define IDM_RESTORE 1000
#define IDM_EXIT 1010
TCHAR NewItem[] = _T("NewItem");
TCHAR ExitStr[] = _T("Exit");
HMENU hPopupMenu;
hPopupMenu = CreatePopupMenu();
AppendMenu(hPopupMenu,MF_STRING,IDM_RESTORE,NewItem);
AppendMenu(hPopupMenu,MF_STRING,IDM_EXIT,ExitStr);
POINT pt;
GetCursorPos(&pt);
TrackPopupMenu(hPopupMenu,TPM_RIGHTALIGN,pt.x,
pt.y,NULL,hWnd,NULL);