对话框最小化及托盘图标问题! 现在可以实现对话框最小化后,在任务栏的右下角出现托盘图标但怎么消除任务栏下面的该对话框窗口呢?就是按最小化按钮后,只要现在图标就可以了,然后我双击这个图标的时候,才让这个对话框出现在任务栏的上! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 NOTIFYICONDATA nid;void AddTaskBarIcon() { nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA); nid.hWnd = hDlgMain; nid.uID = IDI_ICON1; nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = WM_SHOWTASK;//自定义的消息名称 nid.hIcon = LoadIcon(hx, MAKEINTRESOURCE(IDI_ICON1)); strcpy(nid.szTip, "魔兽战争");//信息提示条为“计划任务提醒” Shell_NotifyIcon(NIM_ADD, &nid);//在托盘区添加图标}void RemoveTaskBarIcon() { Shell_NotifyIcon(NIM_DELETE, &nid);} case WM_SIZE: if(wParam == SIZE_MINIMIZED) { AddTaskBarIcon(); ShowWindow(hDlg, SW_HIDE);//隐藏主窗口 } break; void CMy578979Dlg::OnSysCommand(UINT nID, LPARAM lParam){ if(nID == SC_MINIMIZE) { NOTIFYICONDATA tnd; tnd.cbSize = sizeof(NOTIFYICONDATA); tnd.hWnd = this->m_hWnd; tnd.uID = IDR_MAINFRAME; //显示托盘的图标 tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; tnd.uCallbackMessage = WM_LIBEN; //用户在鼠标上做操作时的自定义消息 tnd.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME)); Shell_NotifyIcon(NIM_ADD,&tnd); ShowWindow(SW_HIDE); //我也隐藏了啊,但窗口还是会出现在任务栏上! if(lpszTip) scpy(tnd.szTip, lpszTip); //使用_T("….") else d.szTip[0]='\0'; return Shell_NotifyIcon(NIM_ADD,&d); } CDialog::OnSysCommand(nID, lParam);} NOTIFYICONDATA nd;nd.uFlags = 0;Shell_NotifyIcon(NIM_DELETE, &nd); //把图标从托盘上删除 在右键菜单中添加子项无反应 mp3解码的问题 这里使用fixed 和不使用fixed 会有很大区别,请问fixed是什么用的? 菜鸟提问之“我的菜单出不来”。 如何使自己的应用程序不会在进程管理器中被关闭?up有分! 如何截取对话框的ESC键,使得在对话框上按ESC键后不退出对话框?急 关于静态变量的访问 数据转换问题,很棘手,高手请进! 请问: 如何保存树形目录 怎样把一个这文本的数“A3“转化为数字的16进制数A3,放在一个字节中?? 传输文件和接收文件不一致.... 初始化时,怎样使工具栏的按钮无效?
void AddTaskBarIcon() {
nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA);
nid.hWnd = hDlgMain;
nid.uID = IDI_ICON1;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.uCallbackMessage = WM_SHOWTASK;//自定义的消息名称
nid.hIcon = LoadIcon(hx, MAKEINTRESOURCE(IDI_ICON1));
strcpy(nid.szTip, "魔兽战争");//信息提示条为“计划任务提醒”
Shell_NotifyIcon(NIM_ADD, &nid);//在托盘区添加图标
}
void RemoveTaskBarIcon() {
Shell_NotifyIcon(NIM_DELETE, &nid);
}
if(wParam == SIZE_MINIMIZED) {
AddTaskBarIcon();
ShowWindow(hDlg, SW_HIDE);//隐藏主窗口
}
break;
{
if(nID == SC_MINIMIZE)
{
NOTIFYICONDATA tnd;
tnd.cbSize = sizeof(NOTIFYICONDATA);
tnd.hWnd = this->m_hWnd;
tnd.uID = IDR_MAINFRAME; //显示托盘的图标
tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
tnd.uCallbackMessage = WM_LIBEN; //用户在鼠标上做操作时的自定义消息
tnd.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME));
Shell_NotifyIcon(NIM_ADD,&tnd); ShowWindow(SW_HIDE); //我也隐藏了啊,但窗口还是会出现在任务栏上! if(lpszTip)
scpy(tnd.szTip, lpszTip); //使用_T("….")
else
d.szTip[0]='\0'; return Shell_NotifyIcon(NIM_ADD,&d); } CDialog::OnSysCommand(nID, lParam);
}
nd.uFlags = 0;
Shell_NotifyIcon(NIM_DELETE, &nd); //把图标从托盘上删除