一、托盘图标闪烁
1.准备两张ico图片用来闪烁的时候交换,然后加上一个timer定时器,来控制图片交换的速度.
2.设置一个变量来控制两张图片的显示顺序,最好用bool类型的变量,第一张图片显示后第一张就变为false,第二张则变为true,如此反复交换.
我的项目是使用的是Duilib
代码:
1 m_uNotfyIconTime = SetTimer(this->GetHWND(),NOTIFYICONTIME,500,NULL);
1 初始化为:m_bIsIcon = false;
1 void CxxxWnd::Shinrk() 2 { 3 if(m_bIsIcon) 4 { 5 HICON hicon =LoadIcon(CPaintManagerUI::GetInstance(),MAKEINTRESOURCE(IDI_ICON1)); 6 m_nid.hIcon = hicon; 7 int m = Shell_NotifyIcon(NIM_MODIFY,&m_nid);//透明 8 m_bIsIcon = false; 9 } 10 else 11 { 12 HICON hicon = LoadIcon(CPaintManagerUI::GetInstance(),MAKEINTRESOURCE(IDI_ICON)); 13 m_nid.hIcon = hicon; 14 int m = Shell_NotifyIcon(NIM_MODIFY,&m_nid); 15 m_bIsIcon = true; 16 } 17 }
1 case WM_TIMER: 2 lRes = OnTimer(uMsg,wParam,lParam,bHandled);
case NOTIFYICONTIME: Shinrk(); break;