//************************************ // 函数名称: CreateTrayIcon // 返回类型: void // 参数信息: HWND _RecvHwnd // 参数信息: LPCTSTR _ToolTipText // 参数信息: UINT _Message // 参数信息: HICON _DefaultIcon // 函数说明: //************************************ void CDuiTrayIcon::CreateTrayIcon( HWND _RecvHwnd,UINT _IconIDResource,LPCTSTR _ToolTipText /*= NULL*/,UINT _Message /*= UIEVENT_TRAYICON*/,CPaintManagerUI* pManager/* = NULL*/) { if(_Message == NULL) _Message = UIEVENT_TRAYICON; if(!_RecvHwnd || _IconIDResource <= 0 || _Message < 0) return; m_hIcon = LoadIcon(CPaintManagerUI::GetInstance(),MAKEINTRESOURCE(_IconIDResource)); m_trayData.cbSize = sizeof(NOTIFYICONDATA); m_trayData.hWnd = _RecvHwnd; m_trayData.uID = _IconIDResource; m_trayData.hIcon = m_hIcon; m_trayData.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; m_trayData.uCallbackMessage = _Message; if(_ToolTipText) wcscpy(m_trayData.szTip,_ToolTipText); Shell_NotifyIcon(NIM_ADD,&m_trayData); m_bEnabled = true; m_pDuiTime = MakeDuiTimer(this,&CDuiTrayIcon::OnTimerMousePt,_RecvHwnd,this,NULL,200); m_pDuiTime->SetDuiTimer(); if(pManager) pManager->GetEventSource() += MakeDelegate(this,&CDuiTrayIcon::OnCommon,UIEVENT_TRAYICON); }
//************************************ // 函数名称: StartTwinkling // 返回类型: bool // 函数说明: //************************************ bool CDuiTrayIcon::StartTwinkling() { if(m_bTwinkling || !m_bEnabled || pIDuiTimer) return false; pIDuiTimer = MakeDuiTimer(this,&CDuiTrayIcon::OnTimer,400); pIDuiTimer->SetDuiTimer(); m_bTwinkling = true; return true; }