- 4
- 0
- 约3.8千字
- 约 5页
- 2024-04-30 发布于上海
- 举报
PAGE
PAGE1
MFC中将窗口最小化至系统托盘
在对话框类中声明NOTIFYICONDATA变量
classCCamProjDlg:publicCDialog
{
...
NOTIFYICONDATAnid;
BOOLisNotify;
...
}
//初始化isNotify=false;
在resource.h文件中自定义消息
#defineWM_SHOWTASK 1001
在对话框类中声明消息相应函数
classCCamProjDlg:publicCDialog
{
...
afx_msgLRESULTonShowTask(WPARAMwParam,LPARAMlParam);
...
}
4、在消息映射中添加BEGIN_MESSAGE_MAP(CCamProjDlg,CDialog)
...ON_MESSAGE(WM_SHOWTASK,onShowTask)
...
END_MESSAGE_MAP()
定义消息响应函数
LRESULTCCamProjDlg::onShowTask(WPARAMwParam,LPARAMlParam)
{ //wParam接收的是图标的ID,而lParam接收的是鼠标的行为
if(wParam!=IDR_MAINFRAME)return1;
switch(lParam)
{
caseWM_RBUTTONUP: //右键起来时弹出快捷菜单,这里只有一个关闭
{
LPPOINTlpoint=newtagPOINT;
::GetCursorPos(lpoint); //得到鼠标位置
CMenumenu;
menu.CreatePopupMenu(); //声明一个弹出式菜单
menu.AppendMenu(MF_STRING,WM_DESTROY,_T(关闭)); //增加菜单项关闭,点击则发送消息WM_DESTROY给主窗口(已隐藏),将程序结束。
menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint-x,lpoint-y,this); //确定弹出式菜单的位置
SetForegroundWindow();
HMENUhmenu=menu.Detach(); //资源回收
menu.DestroyMenu();deletelpoint;
}break;
caseWM_LBUTTONDBLCLK: //双击左键的处理
{
this-ShowWindow(SW_SHOW); //简单的显示主窗口完事儿
}break;
}
return0;
}
在需要最小化的地方添加代码
if(!isNotify)
{
nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);nid.hWnd=this-m_hWnd;
nid.uID=IDR_MAINFRAME;
nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP|NIF_INFO;
nid.uCallbackMessage=WM_SHOWTASK; //自定义的消息名称,注意:这里的消息是用户自定义消息
nid.hIcon =
LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));wcscpy_s(nid.szTip,_T(提示标题));
wcscpy_s(nid.szInfo,_T(提示内容));
wcscpy_s(nid.szInfoTitle,_T(提示标题));nid.dwInfoFlags=NIIF_INFO;nid.uTimeout=5000;
Shell_NotifyIcon(NIM_ADD,nid); //在托盘区添加图标
}
ShowWindow(SW_HIDE);//隐藏主窗口
在OnDestroy()函数中添加代码
voidCCamProjDlg::OnDestroy()
{
CDialog::OnDestroy();
//TODO:AddyourmessagehandlercodehereShell_NotifyIcon(NIM_DELETE,nid);
}
1、在资源中的Icon中导入一个自己喜欢的图标,ID命名为IDR_MAINFRAME,将先前的IDR_MAINFRAME的图标删除掉;
2、在自己的Dialog头文件中定义一个变量 NOTIFYICONDATAm_nid,关于该结构体的具体信息可以查阅MSDN;
3、添加消息响应函数OnInitDialog
您可能关注的文档
最近下载
- (高清版)DB13∕T 1586-2012 整体式绝缘接头.docx VIP
- 人教版七年级数学上册期末复习考点清单 专题06几何图形初步(15个考点清单+19种题型解读).pdf VIP
- 热力管道安全评估报告范文(优选11).docx
- 雪铁龙世嘉导航地图升级流程.pdf VIP
- 非物质文化遗产保护与传承中的社区教育模式研究教学研究课题报告.docx
- 东风雪铁龙世嘉车载智云音乐系统(ICC)投放资料之一:推介手册.pdf VIP
- 2025年海兰褐蛋鸡各阶段饲养管理 .pdf VIP
- 人教版九年级上册化学1至7单元综合测试卷(含答案).pdf VIP
- 骨科、麻醉科加速康复围手术期患者慢性病管理专家共识(2025年版) .pdf
- 人教版九年级化学上册:一至六单元测试卷.docx VIP
原创力文档

文档评论(0)