// Windows/Control/Window2.h | |
#ifndef __WINDOWS_CONTROL_WINDOW2_H | |
#define __WINDOWS_CONTROL_WINDOW2_H | |
#include "../Window.h" | |
namespace NWindows { | |
namespace NControl { | |
class CWindow2: public CWindow | |
{ | |
LRESULT DefProc(UINT message, WPARAM wParam, LPARAM lParam); | |
public: | |
CWindow2(HWND newWindow = NULL): CWindow(newWindow){}; | |
virtual ~CWindow2() {}; | |
bool CreateEx(DWORD exStyle, LPCTSTR className, LPCTSTR windowName, | |
DWORD style, int x, int y, int width, int height, | |
HWND parentWindow, HMENU idOrHMenu, HINSTANCE instance); | |
#ifndef _UNICODE | |
bool CreateEx(DWORD exStyle, LPCWSTR className, LPCWSTR windowName, | |
DWORD style, int x, int y, int width, int height, | |
HWND parentWindow, HMENU idOrHMenu, HINSTANCE instance); | |
#endif | |
virtual LRESULT OnMessage(UINT message, WPARAM wParam, LPARAM lParam); | |
virtual bool OnCreate(CREATESTRUCT * /* createStruct */) { return true; } | |
// virtual LRESULT OnCommand(WPARAM wParam, LPARAM lParam); | |
virtual bool OnCommand(WPARAM wParam, LPARAM lParam, LRESULT &result); | |
virtual bool OnCommand(int code, int itemID, LPARAM lParam, LRESULT &result); | |
virtual bool OnSize(WPARAM /* wParam */, int /* xSize */, int /* ySize */) { return false; } | |
virtual bool OnNotify(UINT /* controlID */, LPNMHDR /* lParam */, LRESULT & /* result */) { return false; } | |
virtual void OnDestroy() { PostQuitMessage(0); } | |
virtual void OnClose() { Destroy(); } | |
/* | |
virtual LRESULT OnHelp(LPHELPINFO helpInfo) { OnHelp(); }; | |
virtual LRESULT OnHelp() {}; | |
virtual bool OnButtonClicked(int buttonID, HWND buttonHWND); | |
virtual void OnOK() {}; | |
virtual void OnCancel() {}; | |
*/ | |
LONG_PTR SetMsgResult(LONG_PTR newLongPtr) { return SetLongPtr(DWLP_MSGRESULT, newLongPtr); } | |
LONG_PTR GetMsgResult() const { return GetLongPtr(DWLP_MSGRESULT); } | |
}; | |
}} | |
#endif |