예제 #1
0
	//************************************
	// 函数名称: 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);
	}
예제 #2
0
	//************************************
	// 函数名称: 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;
	}