首页 > 其他 > 详细

001在系统菜单中添加菜单项

时间:2014-07-16 22:48:16      阅读:253      评论:0      收藏:0      [点我收藏+]

技术要点:

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

GetSystemMenu方法用于获取一个系统菜单的指针,语法如下:

CMenu* GetSystemMenu(BOOL bRect);

bRect:FALSE时,该方法返回当前正在使用的系统菜单;TRUE时,该方法将重新设置系统菜单到默认状态,并且方法返回值不可用。

实现过程:

(1)新建一个基于对话框的应用程序

(2)在对话框类中定义一个菜单指针m_pMenu,用于指向系统菜单、

(3)主要程序代码。

在对话框初始化时,获取系统菜单指针,向系统菜单中添加菜单项,代码如下:

m_pMenu=GetSystemMenu(FALSE);

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

在对话框的OnSysCommand方法中添加消息处理代码:

else if(nID==IDI_PECULIARMENU)

{

  MessageBox("系统菜单","提示",MB_OK|MB_ICONINFORMATION);

}

执行结果:

bubuko.com,布布扣

注意:这里图标和背景都有所改变,因为还进行其他操作:

1、在构造函数中,装载了左上角的新图标。

m_hIcon = AfxGetApp()->LoadIcon(IDI_MAINMENU);

2、在OnPaint()函数中,增加了添加背景的代码,如下:

 CDC* m_dc = this->GetDC();
 CDC m_memdc;
 m_memdc.CreateCompatibleDC(m_dc);
 CBitmap m_bitmap;
 m_bitmap.LoadBitmap(IDB_MAIN);
 m_memdc.SelectObject(&m_bitmap);
 m_dc->BitBlt(0,0,800,700,&m_memdc,0,0,SRCCOPY);
 m_bitmap.DeleteObject();

001在系统菜单中添加菜单项,布布扣,bubuko.com

001在系统菜单中添加菜单项

原文:http://www.cnblogs.com/liutianyi10/p/3835592.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!