工控编程吧

标题: 上位机MFC如何在系统菜单中添加菜单项 [打印本页]

作者: qq263946146    时间: 2019-7-19 11:23
标题: 上位机MFC如何在系统菜单中添加菜单项
当建立一个对话框程序时,窗口右上图程序图标点击会弹出系统菜单。
如何对这个系统菜单进行修改,比如添加,删除菜单?
可以通过下面几句代码实现。       
获得系统菜单        CMenu* pMenu = GetSystemMenu(FALSE);
删除系统菜单项         pMenu->RemoveMenu(SC_MOVE, MF_STRING);
添加菜单项pMenu->InsertMenu(0, MF_BYPOSITION, ID_TEST_MENU, _T("测试菜单项"));

CMenu* pMenu = GetSystemMenu(FALSE);//获得系统菜单
pMenu->RemoveMenu(SC_MOVE, MF_STRING);//删除系统菜单项
pMenu->InsertMenu(0, MF_BYPOSITION, ID_TEST_MENU, _T("测试菜单项"));//添加菜单项
DrawMenuBar();//重画菜单

我们自己添加的菜单项,可以在MFC自带的函数OnSysCommand中截获其消息响应。
void CDemoDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
        if ((nID & 0xFFF0) == IDM_ABOUTBOX)
        {
                CAboutDlg dlgAbout;
                dlgAbout.DoModal();
        }
        else if(nID == ID_TEST_MENU)
        {
                AfxMessageBox(_T("测试菜单项命令"));
        }
        else
        {
                CDialog::OnSysCommand(nID, lParam);
        }
}
[MFC408]1[/MFC408]






欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4