vc学习历程(3)--修改系统默认菜单

来源:互联网 发布:lolita洋装淘宝 编辑:程序博客网 时间:2024/05/11 13:59

为了操作系统菜单,首先需要获取一个系统菜单的指针 可以通过GetSystemMenu  实现,然后利用菜单指针添加一个菜单项,最后在对话框的OnSysCommand方法中处理菜单项的命令;

CMenu* GetSystemMenu( BOOL bRevert ) const; bRevert :确定方法执行的动作,如果为FALSE,方法返回当前正在使用的系统菜单;如果为TRUE,该方法将重新设置系统菜单到默认状态,并且方法返回值不可用。

建立一个对话框工程;定义一个菜单指针m_pMenu,用于指向系统菜单;在对话框OnInitDialog函数中,

m_pMenu->GetSystemMenu(FALSE);

m_pMenu->AppendMenu(MF_STRING,IDI_PECULIARMENU,"系统菜单");

然后在OnSysCommand方法中添加消息处理代码:

void CPeculiarMenuDlg::OnSysCommand(UINT nID,LPARAM lParam)

{

  if(nID==IDM_ABOUTBOX)

{

     CAboutDlg dlgAbout;

   dlgAbout.DoModal();

}

else if(nID==IDI_PECULIARMENU)

{

    MessageBox("HELLO","call",MB_OK|MB_ICONINFORMATION);

}

else {

       CDialog::OnSysCommand(nID,lParam);

}

 

}

 

禁用系统菜单可以用m_pMenu->EnableMenuItem()函数;

UINT EnableMenuItem( UINT nIDEnableItem, UINT nEnable );

其中MF_ENABLED 激活菜单项;

MF_DISABLED   禁止菜单项;

MF_BYPOSITION表明以位置标识菜单项;

MF_GRAYED 禁止使其变灰;

 

原创粉丝点击