一、托盤圖標閃爍
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;