Exemplo n.º 1
0
void CTrayIcon::CreateIcon( int nId, const LPCTSTR lpText )
{
	m_Lock.Lock();
	m_NoPriorityIconData.nIconFlash	= nId;
	m_NoPriorityIconData.nIconNormal = nId;
	m_NoPriorityIconData.IsPriority = false;
	m_NoPriorityIconData.strTooltip = lpText;
	m_Lock.Unlock();

	CIcon ico;
	ico.LoadIcon(nId);
	m_data.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
	m_data.hWnd =m_hNotifyWnd;
	m_data.uID = ELIVE_TRAY_ID;
	m_data.hIcon = (HICON)ico;
	m_data.uCallbackMessage = WM_TRAYICONNOTIFY;

	::lstrcpyn(m_data.szTip, lpText, m_version.dwMajorVersion >= 5 ? 127 : 63);
	::Shell_NotifyIcon(NIM_ADD, &m_data);

	if (m_version.dwMajorVersion >= 5)
	{
		m_data.uVersion = NOTIFYICON_VERSION;
		::Shell_NotifyIcon(NIM_SETVERSION, &m_data);
		int code = GetLastError();
		ATLTRACE("SetVersion error: %d.", code);
	}

	::SetTimer(m_hNotifyWnd,_defFlashIconTimerID,400,NULL);
}
Exemplo n.º 2
0
void CTrayIcon::OnTimer( UINT_PTR nIDEvent )
{
	if ( nIDEvent == _defFlashIconTimerID )
	{
		if ( m_IsShowIcon )
		{
			FlashIconData Data = DecideFlashIconData();
			CIcon icon;
			icon.LoadIcon(Data.nIconNormal);
			ChangeIcon(icon);
			ChangeToolTip(Data.strTooltip);
			m_IsShowIcon = false;

		}
		else
		{
			FlashIconData Data = DecideFlashIconData();
			CIcon icon;
			icon.LoadIcon(Data.nIconFlash);
			ChangeIcon(icon);
			ChangeToolTip(Data.strTooltip);
			m_IsShowIcon = true;
		}
	}
	else if ( nIDEvent == _defIconLeaveTimerID )
	{
		POINT pt = {0};
		RECT rc;
		GetCursorPos(&pt);
		if ( GetTrayIconRect(FindTrayWnd(), m_hNotifyWnd, &rc) == S_FALSE)
		{
			GetTrayIconRect(FindNotifyIconOverflowWindow(), m_hNotifyWnd, &rc);
		}

		if ( !PtInRect(&rc,pt) )
		{
			BOOL b;
			OnTrayIconNotify(WM_TRAYICONNOTIFY, 0, WM_MOUSELEAVE, b);
		}
	}
}
Exemplo n.º 3
0
LRESULT 
CAboutBox::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
	CAxDialogImpl<CAboutBox>::OnInitDialog(uMsg, wParam, lParam, bHandled);

	DLLVERSIONINFO dllVerInfo;
	ZeroMemory(&dllVerInfo, sizeof(DLLVERSIONINFO));
	dllVerInfo.cbSize  = sizeof(DLLVERSIONINFO);
	DllGetVersion(GetBaseModule().GetModuleInstance(), &dllVerInfo);
	TCHAR version[100];
	_stprintf_s(version, _T("%d.%d.%d"), dllVerInfo.dwMajorVersion, dllVerInfo.dwMinorVersion, dllVerInfo.dwBuildNumber);
	::SetWindowText(GetDlgItem(IDC_VERSION), version);

	::SetWindowText(GetDlgItem(IDC_PRODUCTID), PRODUCT_ID_TEXT);

	::SetWindowText(GetDlgItem(IDC_CREDITS), 
		_T("CodeProject.com team\n")
		_T("Armen Hakobyan\n")
		_T("..."));
	// set icons
	CIcon icon;
	icon.LoadIcon(IDI_ABOUTBOX);
	SetIcon(icon);

	m_Homepage.SetHyperLink(_T("http://www.upgradr.com"));
	m_Homepage.SetLabel(_T("www.upgradr.com"));
	//m_Homepage.SetToolTipText(_T("go to Upgradr homepage"));
	m_Homepage.SubclassWindow(GetDlgItem(IDC_HOMEPAGE));
	m_Homepage.SetExtendedStyle(HLINK_UNDERLINEHOVER);

	m_Support.SetHyperLink(_T("mailto:[email protected]"));
	m_Support.SetLabel(_T("*****@*****.**"));
	//m_Support.SetToolTipText(_T("send email to Upgradr support"));
	m_Support.SubclassWindow(GetDlgItem(IDC_SUPPORT));
	m_Support.SetExtendedStyle(HLINK_UNDERLINEHOVER);

	//HBITMAP hBmp = m_Homepage.AddBitmap(IDB_TOOLBAR);
	//ATLASSERT(hBmp);

	bHandled = TRUE;
	return 1;  // Let the system set the focus
}
Exemplo n.º 4
0
LRESULT HubMessageControl::onPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) {
  CPaintDC dc(m_hWnd);
  CRect r;
  GetClientRect(r);
  dc.FillRect(r, GetSysColorBrush(COLOR_INFOBK));
  CIcon helpIcon;
  helpIcon.LoadIcon(IDI_SETTINGS_HELP, ICON_WIDTH, ICON_HEIGHT);
  if (helpIcon) {
    helpIcon.DrawIconEx(dc, (m_leftMargin - ICON_WIDTH) / 2, (r.Height() - ICON_HEIGHT) / 2, ICON_WIDTH, ICON_HEIGHT);
  }
  dc.SetBkColor(GetSysColor(COLOR_INFOBK));
  dc.SetTextColor(GetSysColor(COLOR_INFOTEXT));
  const HFONT oldFont = dc.SelectFont(WinUtil::systemFont);
  r.top += m_topMargin;
  r.left += m_leftMargin;
  r.right -= m_rightMargin;
  r.bottom -= m_bottomMargin;
  const int screenTop = r.top;
  const int screenBottom = r.bottom;
  r.top -= scrollTop;
  for (HubMessageIterator i = messages.begin(); i != messages.end(); ++i) {
    const HubMessage& msg = *i;
    r.bottom = r.top + msg.height;
    //dcdebug("scrollTop=%d r.top=%d r.bottom=%d screenTop=%d screenBottom=%d \n", scrollTop, r.top, r.bottom, screenTop, screenBottom);
    if (r.bottom > screenTop) {
      tstring tmp = msg.time + _T(" ") + msg.text;
      dc.DrawText(tmp.c_str(), tmp.length(), r, DT_WORDBREAK);
    }
    if (r.bottom >= screenBottom) break;
    r.top = r.bottom;
  }
  dc.SelectFont(oldFont);
  if (GetFocus() == m_hWnd) {
    drawFocusRect(dc);
  }
  return 0;
}
Exemplo n.º 5
0
void CTrayIcon::ChangeIcon( UINT nID )
{
	CIcon icon;
	icon.LoadIcon(nID);
	this->ChangeIcon(icon);
}