Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.6 KiB

  1. // SAFInciTrayIcon.h: interface for the CSAFInciTrayIcon class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_SAFINCITRAYICON_H__28C12A78_DAB2_47EB_9F1C_50EFCA619B05__INCLUDED_)
  5. #define AFX_SAFINCITRAYICON_H__28C12A78_DAB2_47EB_9F1C_50EFCA619B05__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "Resource.h"
  10. class CSAFInciTrayIcon : public CWindowImpl<CSAFInciTrayIcon, CWindow,
  11. CWinTraits<WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN, WS_EX_APPWINDOW|WS_EX_WINDOWEDGE> >
  12. {
  13. public:
  14. CSAFInciTrayIcon(UINT &nRefCount);
  15. static BOOL RemoveTrayIcon();
  16. WORD m_wIconId;
  17. BOOL AddTrayIcon();
  18. BOOL ModifyIcon();
  19. BOOL ChangeToolTip();
  20. static DWORD WINAPI SAFInciTrayIconThreadFn(LPVOID lpParameter);
  21. BOOL ShowBalloon(LPCTSTR szText, LPCTSTR szTitle = NULL,
  22. DWORD dwIcon = NIIF_NONE, UINT uTimeout = 10);
  23. BEGIN_MSG_MAP(CSAFInciTrayIcon)
  24. MESSAGE_HANDLER(WM_CREATE, OnCreate)
  25. MESSAGE_HANDLER(WM_TASKBARCREATED, OnTaskBarCreate)
  26. MESSAGE_HANDLER(WM_ICON_NOTIFY, OnIconNotify)
  27. END_MSG_MAP()
  28. LRESULT OnIconNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  29. LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  30. LRESULT OnTaskBarCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  31. LRESULT OnTrayNotification(UINT wParam, LONG lParam);
  32. static DWORD dwThreadId;
  33. private:
  34. static BOOL m_bVisible;
  35. static NOTIFYICONDATA m_tnd;
  36. static const UINT WM_TASKBARCREATED;
  37. UINT &m_nRefCount;
  38. };
  39. #endif // !defined(AFX_SAFINCITRAYICON_H__28C12A78_DAB2_47EB_9F1C_50EFCA619B05__INCLUDED_)