/**************************************************************************** * * FILE: PopupMsg.h * * CREATED: Chris Pirich (ChrisPi) 1-3-96 * ****************************************************************************/ #ifndef _POPUPMSG_H_ #define _POPUPMSG_H_ const DWORD PMF_OK = 0x00000001; const DWORD PMF_CANCEL = 0x00000002; const DWORD PMF_TIMEOUT = 0x00000004; const DWORD PMF_AUTH = 0x00000008; const DWORD PMF_KILLED = 0x00000010; typedef VOID (CALLBACK* PMCALLBACKPROC)(LPVOID, DWORD); const int POPUPMSG_MAX_SOUNDNAME = 64; const int POPUPMSG_TIMEOUT = 20000; // 20 seconds const int POPUPMSG_RING_INTERVAL = 4000; // 4 seconds const int POPUPMSG_ICON_HEIGHT = 16; const int POPUPMSG_ICON_WIDTH = 16; const int POPUPMSG_RING_TIMER = 1001; const int POPUPMSG_MAX_LENGTH = 256; class CPopupMsg { private: static UINT m_uVisiblePixels; static CSimpleArray* m_splstPopupMsgs; BOOL m_fAutoSize; HICON m_hIcon; HINSTANCE m_hInstance; PMCALLBACKPROC m_pCallbackProc; LPVOID m_pContext; BOOL m_fRing; BOOL m_fPlaySound; TCHAR m_szSound[POPUPMSG_MAX_SOUNDNAME]; UINT m_uTimeout; int m_nWidth; int m_nHeight; int m_nTextWidth; BOOL GetIdealPosition(LPPOINT ppt, int xCoord, int yCoord); VOID PlaySound(); public: HWND m_hwnd; // Methods: CPopupMsg(PMCALLBACKPROC pcp, LPVOID pContext=NULL); ~CPopupMsg(); BOOL Change(LPCTSTR pcszText); HWND Create( LPCTSTR pcszText, BOOL fRing=FALSE, LPCTSTR pcszIconName=NULL, HINSTANCE hInstance=NULL, UINT uIDSoundEvent=0, UINT uTimeout=POPUPMSG_TIMEOUT, int xPos = -1, int yPos = -1); HWND CreateDlg( LPCTSTR pcszText, BOOL fRing=FALSE, LPCTSTR pcszIconName=NULL, HINSTANCE hInstance=NULL, UINT uIDSoundEvent=0, UINT uTimeout=POPUPMSG_TIMEOUT, int xPos = -1, int yPos = -1); static VOID ExpandSecureDialog(HWND hDlg,CPopupMsg * ppm); static VOID ShrinkSecureDialog(HWND hDlg); static BOOL Init(); static VOID Cleanup(); static LRESULT CALLBACK PMWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); static INT_PTR CALLBACK PMDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); static INT_PTR CALLBACK SecurePMDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); }; #endif // ! _POPUPMSG_H_