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.
83 lines
2.4 KiB
83 lines
2.4 KiB
/****************************************************************************
|
|
*
|
|
* 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<CPopupMsg*>* 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_
|