class CTimedMsgBox; #ifndef _TIMEDMSGBOX_H_ #define _TIMEDMSGBOX_H_ #pragma once #define MSGBOX_DELAY 4000 class CTimedMsgBox { protected: class CMsgBoxThread : public CWizThread { public: CMsgBoxThread(LPCTSTR pszCaption, LPCTSTR pszTitle, UINT nType) { m_pszCaption = strdup(pszCaption); m_pszTitle = strdup(pszTitle); m_nType = nType; }; virtual ~CMsgBoxThread() { if (m_pszCaption) free(m_pszCaption); if (m_pszTitle) free(m_pszTitle); }; virtual void Run(LPVOID) { // Create the desired dialog box if (!m_pszCaption) return; MessageBox(NULL, m_pszCaption, m_pszTitle, MB_OK | m_nType); }; LPSTR m_pszCaption; LPSTR m_pszTitle; UINT m_nType; }; public: static void Do(LPCTSTR pszCaption, LPCTSTR pszTitle, UINT nType); }; #endif