问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VC最小化托盘问题```

发布网友 发布时间:2024-01-04 19:56

我来回答

1个回答

热心网友 时间:2024-08-31 22:33

vc中有时候要实现程序最小化,实际上那是的隐藏.那么如何实现那,下面我将给出我自己的粗浅建议.
程序最小化到托盘,是把程序隐藏,并在托盘上加上响应的图标,对图标操作发送消息来实现的.下面给出做法供大家参考:
首先在.h文件里加入自定义消息:
#define WM_SHOWTASK (WM_USER + 0x100) //一般数值大于100
//{{AFX_MSG(CMPARTDlg)
中间加入:
afx_msg LRESULT onShowTask(WPARAM wParam,LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()

在.cpp文件里加入如下代码:
BEGIN_MESSAGE_MAP(CMPARTDlg, CDialog)
//{{AFX_MSG_MAP(CMPARTDlg)
中间加入消息声明:
ON_MESSAGE(WM_SHOWTASK,onShowTask)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

要实现最小话到托盘的函数里加入:
void CMyDlg::OnMenuHpanel()
{
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=WM_SHOWTASK; //自定义的消息名称
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
// IDR_MAINFRAME 是在托盘显示的图标
strcpy(nid.szTip,"计划任务提醒"); //信息提示条为“计划任务提醒”
Shell_NotifyIcon(NIM_ADD,&nid); //在托盘区添加图标
ShowWindow(SW_HIDE); //隐藏主窗口
}
LRESULT CMPARTDlg::onShowTask(WPARAM wParam,LPARAM lParam)
//wParam接收的是图标的ID,而lParam接收的是鼠标的行为
{
if(wParam!=IDR_MAINFRAME)
return 1;
switch(lParam)
{
case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭”
{
//其中代码前面文章有可查
}
break;
case WM_LBUTTONDBLCLK://双击左键的处理
{
this->ShowWindow(SW_SHOW);//简单的显示主窗口完事儿
}
break;
}
return 0;
}
//应用程序退出时,主窗口销毁消息响应处理函数
void CMyDlg::OnDestroy()
{
CDialog::OnDestroy();
//程序退出,从托盘区删除图标
NOTIFYICONDATA nc;
nc.cbSize = sizeof(NOTIFYICONDATA);
nc.hWnd = m_hWnd;
nc.uID = IDC_NOTIFYICON;
Shell_NotifyIcon(NIM_DELETE, &nc);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
纯种萨摩和不纯的萨摩的区别 不是纯种萨摩,长大成型后和纯种萨摩外表一样吗 学播音主持和配音哪个更赚钱,各有各的长处 学播音真的能改变声音吗,会让自己的普通话更加标准 学习播音和配音的作用,可以提升自信和气质 普通人学配音有没有用,有兴趣则有用 什么是永诚财产保险股份有限公司 win10电脑升级不了ie11win10怎么升级ie11 电脑硬件保修哪些电脑硬件保修包括什么 电脑固态硬盘质保几年一般的电脑保修时间是多久 注册新后旧的怎么找回? 微信重新注册了,怎么找回以前那个? 在excel2007中,如何自动设置小数,例如输入12会自动变成0.12。谢谢_百 ... 微信重新注册了,怎么找回以前那个? 廖智启发课堂视频内容在哪里看 柠檬芦荟和白醋哪个美白祛斑好 团结章争章过程怎么写 交通事故赔偿金是否可以代领 怎么才能找回原来的呢? 对方把我微信拉黑 然后对方注销 发给对方信息有什么提示? 注册新后旧的怎么找回? 长期上火性便秘 吃乳酸菌素片可以吗 要吃多长时间能有效果 谁有这种类... 最近脖子很疼. 浪鲸水龙头质量怎么样 《警中警》大结局 视频播放的时候,我快进拉到一定位置就会从头开始播放,为什么,而且用优酷... 长宁区古北家乐福电话是多少?还有八百伴电话多少? 微信重新注册了,怎么找回以前那个? 一个未成年的孕妇被4个成年人打算犯罪吗 一年只能改一次怎么改第二次? 遭女儿举报男子已被停职了? 京东商家客服聊天说微信会有什么惩罚 一年内怎么改第二次 代谢慢吃乳酸菌素片有效果吗 如何有效的消除大眼袋? 眼袋过大,如何迅速消除 听说退款管家RefundLabs是免费注册,为亚马逊卖家申请索赔,那么它如何盈 ... 我已经五十岁人了,男人脾气暴躁,经常发脾气,儿子女儿都成家了,我想离开... 海尔电热水龙头质量怎么样 注册新后旧的怎么找回 分梨骄绿《依赖你的信息素》,求大神分享下资源。十分感谢。_百度... 从南京去河南长垣县如何走最合适? 长垣到南京有大巴车么?多少钱啊?在站外坐是不是便宜啊?多少钱?谢谢了... 男人为什么总是容易生气?这是为什么?如何忍住不生气? 一个手机号在注册了一个微信后又注册了新的,旧的怎么找回? ...硬膜囊受压,触及双侧神经根,L5/S1椎间盘向后突出4.1mm硬膜囊前脂肪... ...们总爱用一句“在天愿作比翼鸟,在地愿为连理枝”的诗来诉衷肠。请 ... ...欠费三个月了,现在冲话费进去,为什么没有反应,连10086 二胡中那首才是名曲? 一个手机号能开两吗?