Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/xampp/FileZillaFTP/source/interface/misc/ |
///////////////////////////////////////////////////////////////////////////// // SystemTray.h : header file // // Written by Chris Maunder (cmaunder@mail.com) // Copyright (c) 1998. // // This code may be used in compiled form in any way you desire. This // file may be redistributed unmodified by any means PROVIDING it is // not sold for profit without the authors written consent, and // providing that this notice and the authors name is included. If // the source code in this file is used in any commercial application // then acknowledgement must be made to the author of this file // (in whatever form you wish). // // This file is provided "as is" with no expressed or implied warranty. // // Expect bugs. // // Please use and enjoy. Please let me know of any bugs/mods/improvements // that you have found/implemented and I will fix/incorporate them into this // file. #ifndef _INCLUDED_SYSTEMTRAY_H_ #define _INCLUDED_SYSTEMTRAY_H_ #ifdef NOTIFYICONDATA_V1_SIZE // If NOTIFYICONDATA_V1_SIZE, then we can use fun stuff #define SYSTEMTRAY_USEW2K #else #define NIIF_NONE 0 #endif // #include <afxwin.h> #include <afxdisp.h> // COleDateTime ///////////////////////////////////////////////////////////////////////////// // CSystemTray window class CSystemTray : public CWnd { // Construction/destruction public: CSystemTray(); CSystemTray(CWnd* pWnd, UINT uCallbackMessage, LPCTSTR szTip, HICON icon, UINT uID, BOOL bhidden = FALSE, LPCTSTR szBalloonTip = NULL, LPCTSTR szBalloonTitle = NULL, DWORD dwBalloonIcon = NIIF_NONE, UINT uBalloonTimeout = 10); virtual ~CSystemTray(); DECLARE_DYNAMIC(CSystemTray) // Operations public: BOOL Enabled() { return m_bEnabled; } BOOL Visible() { return !m_bHidden; } // Create the tray icon BOOL Create(CWnd* pParent, UINT uCallbackMessage, LPCTSTR szTip, HICON icon, UINT uID, BOOL bHidden = FALSE, LPCTSTR szBalloonTip = NULL, LPCTSTR szBalloonTitle = NULL, DWORD dwBalloonIcon = NIIF_NONE, UINT uBalloonTimeout = 10); // Change or retrieve the Tooltip text BOOL SetTooltipText(LPCTSTR pszTooltipText); BOOL SetTooltipText(UINT nID); CString GetTooltipText() const; // Change or retrieve the icon displayed BOOL SetIcon(HICON hIcon); BOOL SetIcon(LPCTSTR lpszIconName); BOOL SetIcon(UINT nIDResource); BOOL SetStandardIcon(LPCTSTR lpIconName); BOOL SetStandardIcon(UINT nIDResource); HICON GetIcon() const; void SetFocus(); BOOL HideIcon(); BOOL ShowIcon(); BOOL AddIcon(); BOOL RemoveIcon(); BOOL MoveToRight(); BOOL ShowBalloon(LPCTSTR szText, LPCTSTR szTitle = NULL, DWORD dwIcon = NIIF_NONE, UINT uTimeout = 10); // For icon animation BOOL SetIconList(UINT uFirstIconID, UINT uLastIconID); BOOL SetIconList(HICON* pHIconList, UINT nNumIcons); BOOL Animate(UINT nDelayMilliSeconds, int nNumSeconds = -1); BOOL StepAnimation(); BOOL StopAnimation(); // Change menu default item void GetMenuDefaultItem(UINT& uItem, BOOL& bByPos); BOOL SetMenuDefaultItem(UINT uItem, BOOL bByPos); // Change or retrieve the window to send notification messages to BOOL SetNotificationWnd(CWnd* pNotifyWnd); CWnd* GetNotificationWnd() const; // Change or retrieve the window to send menu commands to BOOL SetTargetWnd(CWnd* pTargetWnd); CWnd* GetTargetWnd() const; // Change or retrieve notification messages sent to the window BOOL SetCallbackMessage(UINT uCallbackMessage); UINT GetCallbackMessage() const; UINT GetTimerID() const { return m_nTimerID; } void RefreshIcon(); // Static functions public: static void MinimiseToTray(CWnd* pWnd); static void MaximiseFromTray(CWnd* pWnd); public: // Default handler for tray notification message virtual LRESULT OnTrayNotification(WPARAM uID, LPARAM lEvent); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CSystemTray) protected: virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam); //}}AFX_VIRTUAL // Implementation protected: void Initialise(); void InstallIconPending(); // Implementation protected: NOTIFYICONDATA m_tnd; BOOL m_bEnabled; // does O/S support tray icon? BOOL m_bHidden; // Has the icon been hidden? BOOL m_bRemoved; // Has the icon been removed? BOOL m_bShowIconPending; // Show the icon once tha taskbar has been created BOOL m_bWin2K; // Use new W2K features? CWnd* m_pTargetWnd; // Window that menu commands are sent std::vector<HICON> m_IconList; UINT m_uIDTimer; UINT m_nCurrentIcon; COleDateTime m_StartTime; int m_nAnimationPeriod; HICON m_hSavedIcon; UINT m_DefaultMenuItemID; BOOL m_DefaultMenuItemByPos; UINT m_uCreationFlags; // Static data protected: static BOOL RemoveTaskbarIcon(CWnd* pWnd); static const UINT m_nTimerID; static UINT m_nMaxTooltipLength; static const UINT m_nTaskbarCreatedMsg; static CWnd m_wndInvisible; static BOOL GetW2K(); #ifndef _WIN32_WCE static void GetTrayWndRect(LPRECT lprect); static BOOL GetDoWndAnimation(); #endif // Generated message map functions protected: //{{AFX_MSG(CSystemTray) afx_msg void OnTimer(UINT_PTR nIDEvent); //}}AFX_MSG #ifndef _WIN32_WCE afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection); #endif LRESULT OnTaskbarCreated(WPARAM wParam, LPARAM lParam); DECLARE_MESSAGE_MAP() }; #endif /////////////////////////////////////////////////////////////////////////////