如何添加自定义系统菜单 - C++ & MFC
1、创建一个基于对话框的MFC EXE
2、在对话框类中添加一个Public 指针变量 m_pMenu,用来保存系统菜单
class CPrjShutDownPCDlg : public CDialog
{
// Construction
public:
CMenu* m_pMenu;
3、添加一个Global 变量,ID_menuAuthorblog,用来标识菜单ID
unsigned int ID_menuAuthorblog = 123456;
4、在对话框的 OnInitDialog 函数 中,获取系统菜单指针,向系统菜单添加菜单项
//=====================================================================================
//添加系统菜单“Author's Blog”
m_pMenu = CPrjShutDownPCDlg::GetSystemMenu(FALSE);
//::GetSystemMenu(
m_pMenu->AppendMenu(MF_ENABLED,ID_menuAuthorblog,"Author's Blog");
//=====================================================================================
5、在对话框的 OnSysCommand 函数中添加菜单单击响应代码
void CPrjShutDownPCDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
// TODO: Add your message handler code here and/or call default
//================================================================
// TODO: System Menu Author's Blog Click Event
if(nID == ID_menuAuthorblog)
{
::ShellExecute(CPrjShutDownPCDlg::m_hWnd,"open","http://HackerJLY.spaces.live.com/photos",NULL,NULL,SW_MAXIMIZE);
}
//================================================================
CDialog::OnSysCommand(nID, lParam);
}