1 #pragma once 2 3 #include "Common/CommonWindows.h" 4 5 class Dialog 6 { 7 public: 8 Dialog(LPCSTR res, HINSTANCE _hInstance, HWND _hParent); 9 virtual ~Dialog(); 10 11 virtual void Show(bool _bShow, bool includeToTop = true); Update()12 virtual void Update() {} 13 GetDlgHandle()14 HWND GetDlgHandle() { 15 return m_hDlg; 16 } 17 protected: 18 virtual void Create(); 19 void Destroy(); 20 21 HWND m_hParent; 22 HWND m_hDlg; 23 LPCSTR m_hResource; 24 bool m_bValid; 25 UINT m_bShowState = SW_HIDE; 26 27 virtual BOOL DlgProc(UINT message, WPARAM wParam, LPARAM lParam) = 0; 28 static INT_PTR CALLBACK DlgProcStatic(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); 29 30 private: 31 HINSTANCE m_hInstance; 32 }; 33 34 35 class DialogManager 36 { 37 public: 38 static void AddDlg(Dialog *dialog); 39 static void RemoveDlg(Dialog *dialog); 40 static bool IsDialogMessage(LPMSG message); 41 static void EnableAll(BOOL enable); 42 static void DestroyAll(); 43 static void UpdateAll(); 44 }; 45