C++对话框系统托盘实现

本文介绍了如何使用C++的MFC框架实现对话框应用程序在最小化时显示为系统托盘图标,并且通过双击托盘图标还原对话框,以及右键点击托盘显示关闭菜单的功能。主要涉及OnSysCommand处理对话框最小化,自定义消息响应OnTrayIcon处理托盘区操作,以及关闭时删除托盘图标的方法。
摘要由CSDN通过智能技术生成
需求:

1、MFC对话框最小化时,只显示系统右下角托盘图标。

2、双击托盘,对话框还原。

3、右键点击托盘,弹出“关闭”菜单,可关闭对话框。

 

 

实现步骤:

1、创建MFC对话框程序(本例程序名为TaskbarIcon),属性中设置“MinimizeBox”为true。

2、定义自定义消息宏。

#define NOTIFY_SHOW WM_USER+1 

3、OnSysCommand(系统消息响应函数)添加对话框最小化执行代码。
void CTaskbarIconDlg::OnSysCommand(UINT nID, LPARAM lParam) 

    if (SC_MINIMIZE == nID) 
    { 
        NOTIFYICONDATA nid; 
        nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA);    
        nid.hWnd = this->m_hWnd;    
        nid.uID = IDR_MAINFRAME;    
        nid.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP   ;    
        nid.uCallbackMessage = NOTIFY_SHOW;//自定义的消息名称 
        nid.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME));    
        wcscpy_s(nid.szTip, _T("图标测试"));//信息提示条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值