1 // Windows/Control/Window2.h 2 3 #ifndef __WINDOWS_CONTROL_WINDOW2_H 4 #define __WINDOWS_CONTROL_WINDOW2_H 5 6 #include "../Window.h" 7 8 namespace NWindows { 9 namespace NControl { 10 11 class CWindow2: public CWindow 12 { 13 LRESULT DefProc(UINT message, WPARAM wParam, LPARAM lParam); 14 public: CWindow(newWindow)15 CWindow2(HWND newWindow = NULL): CWindow(newWindow){}; ~CWindow2()16 virtual ~CWindow2() {}; 17 18 bool CreateEx(DWORD exStyle, LPCTSTR className, LPCTSTR windowName, 19 DWORD style, int x, int y, int width, int height, 20 HWND parentWindow, HMENU idOrHMenu, HINSTANCE instance); 21 22 #ifndef _UNICODE 23 bool CreateEx(DWORD exStyle, LPCWSTR className, LPCWSTR windowName, 24 DWORD style, int x, int y, int width, int height, 25 HWND parentWindow, HMENU idOrHMenu, HINSTANCE instance); 26 #endif 27 28 virtual LRESULT OnMessage(UINT message, WPARAM wParam, LPARAM lParam); OnCreate(CREATESTRUCT *)29 virtual bool OnCreate(CREATESTRUCT * /* createStruct */) { return true; } 30 // virtual LRESULT OnCommand(WPARAM wParam, LPARAM lParam); 31 virtual bool OnCommand(WPARAM wParam, LPARAM lParam, LRESULT &result); 32 virtual bool OnCommand(int code, int itemID, LPARAM lParam, LRESULT &result); OnSize(WPARAM,int,int)33 virtual bool OnSize(WPARAM /* wParam */, int /* xSize */, int /* ySize */) { return false; } OnNotify(UINT,LPNMHDR,LRESULT &)34 virtual bool OnNotify(UINT /* controlID */, LPNMHDR /* lParam */, LRESULT & /* result */) { return false; } OnDestroy()35 virtual void OnDestroy() { PostQuitMessage(0); } OnClose()36 virtual void OnClose() { Destroy(); } 37 /* 38 virtual LRESULT OnHelp(LPHELPINFO helpInfo) { OnHelp(); } 39 virtual LRESULT OnHelp() {}; 40 virtual bool OnButtonClicked(int buttonID, HWND buttonHWND); 41 virtual void OnOK() {}; 42 virtual void OnCancel() {}; 43 */ 44 SetMsgResult(LONG_PTR newLongPtr)45 LONG_PTR SetMsgResult(LONG_PTR newLongPtr) { return SetLongPtr(DWLP_MSGRESULT, newLongPtr); } GetMsgResult()46 LONG_PTR GetMsgResult() const { return GetLongPtr(DWLP_MSGRESULT); } 47 }; 48 49 }} 50 51 #endif 52