TA的每日心情 | 开心 2022-1-9 18:18 |
---|
|
PopupMenuWindow 弹出菜单 | 鼠标右键弹出菜单.XE_MENUSELECT:菜单项选择事件.
XE_MENUEXIT:菜单退出事件.
步骤:
1.XPopupMenuWnd_CreateWindow()创建弹出菜单.
2.XPopupMenuWnd_AddItem()添加菜单项.
3.XPopupMenuWnd_Popup()显示弹出菜单.
| 示例代码: |
- bool CALLBACK My_OnRButtonUp(HWINDOW hWindow,UINT flags,POINT *pPt);
- bool CALLBACK My_MenuSelect(HWINDOW hWindow,int id);
- bool CALLBACK My_MenuExit(HWINDOW hWindow);
- int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
- {
- XInitXCGUI();
- //创建窗口
- HWINDOW hWindow=XWnd_CreateWindow(400,200,300,200,L"窗口");
- ShowWindow(XWnd_GetHWnd(hWindow),SW_SHOW);
- //注册消息
- XWnd_RegisterMessage(hWindow,WM_RBUTTONUP,My_OnRButtonUp);
- XWnd_RegisterMessage(hWindow,XWM_MENUSELECT,My_MenuSelect);
- XWnd_RegisterMessage(hWindow,XWM_MENUEXIT,My_MenuExit);
- XRunXCGUI();
- return 0;
- }
- bool CALLBACK My_OnRButtonUp(HWINDOW hWindow,UINT flags,POINT *pPt)
- {
- POINT pt=*pPt;
- pt.x+=XWnd_GetClientLeft(hWindow);
- pt.y+=XWnd_GetClientTop(hWindow);
-
- //创建弹出菜单
- HWINDOW hMenu=XPopupMenuWnd_CreateWindow();
- XPopupMenuWnd_AddItem(hMenu,201,L"111");
- XPopupMenuWnd_AddItem(hMenu,202,L"222");
- XPopupMenuWnd_AddItem(hMenu,203,L"333");
- XPopupMenuWnd_AddItem(hMenu,204,L"444",203);
- XPopupMenuWnd_AddItem(hMenu,205,L"555",203);
- XPopupMenuWnd_AddItem(hMenu,206,L"666",203);
- XPopupMenuWnd_AddItem(hMenu,207,L"777",206);
- XPopupMenuWnd_AddItem(hMenu,208,L"888",206);
- XPopupMenuWnd_AddItem(hMenu,209,L"999",206);
- ClientToScreen(XWnd_GetHWnd(hWindow),&pt);
- XPopupMenuWnd_Popup(hMenu,hWindow,pt.x,pt.y);
- return false;
- }
- bool CALLBACK My_MenuSelect(HWINDOW hWindow,int id) //菜单选择
- {
- XTRACE("菜单ID=%d\n",id);
- return false;
- }
- bool CALLBACK My_MenuExit(HWINDOW hWindow) //菜单退出
- {
- XTRACE("菜单退出\n");
- return false;
- }
复制代码
程序截图:
|
|