`````````````up有分``````````````怎样在托盘区显示状态? 我把程序最小化在托盘区,然后,如何更新托盘区的图标,来表示不同的状态?怎样才可以更新那个小图标?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SetTimer()设置一个定时器来改图标。参考下面的托盘编程部分http://www.vckbase.com/document/listdoc.asp?sclsid=1313 nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1));使用不同LoadIcon就可以了NOTIFYICONDATA nid; nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); nid.hWnd=this->m_hWnd; nid.uID=IDI_ICON1; nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ; nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称 nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1)); strcpy(nid.szTip,"计划任务");//信息提示条为“计划任务提醒” Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标 这是我的程序, 用八个图标显示状态void CBRKServer::DrawTrayLogo(){ m_nLogoState++; if ( m_nLogoState > 7) m_nLogoState = 0; switch ( m_nLogoState ) { case 0: theApp.m_TrayIcon.SetIcon(IDI_ICON8); break; case 1: theApp.m_TrayIcon.SetIcon(IDI_ICON1); break; case 2: theApp.m_TrayIcon.SetIcon(IDI_ICON2); break; case 3: theApp.m_TrayIcon.SetIcon(IDI_ICON3); break; case 4: theApp.m_TrayIcon.SetIcon(IDI_ICON4); break; case 5: theApp.m_TrayIcon.SetIcon(IDI_ICON5); break; case 6: theApp.m_TrayIcon.SetIcon(IDI_ICON6); break; case 7: theApp.m_TrayIcon.SetIcon(IDI_ICON7); break; } } nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1));你可以把这个数据结构加到不同的事件中,象鼠标右键,然后加载不同的图标就可以了 SetTimer()然后调用Shell_NotifyIcon来修改图表 今天怎么这么多问托盘图标的呀刚刚用网上的一段代码回复人家的内容http://community.csdn.net/Expert/topic/3543/3543916.xml?temp=.3894617 急!我想用MFC在ListCtrl中的一项弄成ComboBox 链表中的全局变量问题!急! 采用odbc连接SQL数据库,往一个有11万多条记录的数据中增加新记录,居然要花40秒时间!如何提高速度? 对话框上显示中文时出现乱码的问题 急招MP4人员!(专兼职均可、地区不限) 如何得到窗口最小化时的事件消息,需要自己定义吗? 装了双系统,怎样启动win98 字符串与字符指针的问题 数据结构的几个概念 那位大侠一定要帮帮忙! 判断一个控件在对话框中的坐标问题 读printf()将要输出的信息。
参考下面的托盘编程部分
http://www.vckbase.com/document/listdoc.asp?sclsid=1313
使用不同LoadIcon就可以了
NOTIFYICONDATA nid;
nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);
nid.hWnd=this->m_hWnd;
nid.uID=IDI_ICON1;
nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;
nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1));
strcpy(nid.szTip,"计划任务");//信息提示条为“计划任务提醒”
Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标
void CBRKServer::DrawTrayLogo()
{
m_nLogoState++;
if ( m_nLogoState > 7)
m_nLogoState = 0; switch ( m_nLogoState )
{
case 0:
theApp.m_TrayIcon.SetIcon(IDI_ICON8);
break;
case 1:
theApp.m_TrayIcon.SetIcon(IDI_ICON1);
break;
case 2:
theApp.m_TrayIcon.SetIcon(IDI_ICON2);
break;
case 3:
theApp.m_TrayIcon.SetIcon(IDI_ICON3);
break;
case 4:
theApp.m_TrayIcon.SetIcon(IDI_ICON4);
break;
case 5:
theApp.m_TrayIcon.SetIcon(IDI_ICON5);
break;
case 6:
theApp.m_TrayIcon.SetIcon(IDI_ICON6);
break;
case 7:
theApp.m_TrayIcon.SetIcon(IDI_ICON7);
break;
} }
你可以把这个数据结构加到不同的事件中,象鼠标右键,然后加载不同的图标就可以了
Shell_NotifyIcon来修改图表
刚刚用网上的一段代码回复人家的内容
http://community.csdn.net/Expert/topic/3543/3543916.xml?temp=.3894617