windows-nt/Source/XPSP1/NT/enduser/netmeeting/ui/conf/popupmsg.h

84 lines
2.3 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/****************************************************************************
*
* 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_