首页 > 代码库 > mfc 小程序---在系统菜单中添加菜单项

mfc 小程序---在系统菜单中添加菜单项

1建立一个对话框工程;在dlg类里定义一个菜单指针m_pMenu,在对话框OnInitDialog函数里添加代码:

m_pMenu=GetSystemMenu(FALSE);//获取系统菜单的指针
 m_pMenu->AppendMenu(MF_SEPARATOR);//添加分割线
 m_pMenu->AppendMenu(MF_STRING,IDI_PECULIARMENU,"系统菜单");

补充:IDI_PECULIARMENU 为一个常数,需要在Resourece.h中宏定义:

#define IDI_PECULIARMENU  1201

2在 OnSysCommand 函数中增加代码:

else if(nID==IDI_PECULIARMENU)
 {
  MessageBox("系统菜单","提示",MB_OK|MB_ICONINFORMATION);
 }

扩展:在系统菜单里添加背景图片,为标题添加图标

     1 :加载bitmap 图片IDB_MAIN

     在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);
 CRect m_rect;
 m_dc->BitBlt(0,0,800,700,&m_memdc,0,0,SRCCOPY);
 m_bitmap.DeleteObject();

2:加载icon 图片作为标题栏图标:IDI_MAINMENU

之后直接更改m_hIcon的值即可:

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

补充:如果是外部应用程序首先FindWindow()找到窗口
向窗口发送   WM_SECTION消息。

  HICON   hIcon=AfxGetApp()-> LoadIcon(IDI_YOUR_ICON)
  AfxGetMainWnd()-> SendMessage(WM_SECTION,TRUE,(LPARAM)hIcon)

最后这个现在还没试过……

mfc 小程序---在系统菜单中添加菜单项