#ifndef __WINDOWS_CONTROL_WINDOW2_H
#define __WINDOWS_CONTROL_WINDOW2_H
#include "Windows/Window.h"
#include "Windows/Defs.h"
namespace NWindows {
namespace NControl {
class CWindow2 // : public CWindow
{
HWND _window;
public:
CWindow2(HWND newWindow = NULL): _window(newWindow){};
CWindow2& operator=(HWND newWindow)
{
_window = newWindow;
return *this;
}
virtual ~CWindow2() {}
operator HWND() const { return 0; }
#ifdef _WIN32
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
#endif
virtual LRESULT OnMessage(UINT message, WPARAM wParam, LPARAM lParam);
virtual bool OnCreate(CREATESTRUCT * ) { return true; }
virtual bool OnCommand(WPARAM wParam, LPARAM lParam, LRESULT &result);
virtual bool OnCommand(int code, int itemID, LPARAM lParam, LRESULT &result);
virtual bool OnSize(WPARAM , int , int ) { return false; }
virtual bool OnNotify(UINT , LPNMHDR , LRESULT & ) { return false; }
virtual void OnDestroy() { }
virtual void OnClose() { }
virtual LRESULT OnHelp(LPHELPINFO helpInfo) { OnHelp(); };
virtual LRESULT OnHelp() {};
virtual bool OnButtonClicked(int buttonID, HWND buttonHWND);
virtual void OnOK() {};
virtual void OnCancel() {};
*/
#ifdef _WIN32
LONG_PTR SetMsgResult(LONG_PTR newLongPtr )
{ return SetLongPtr(DWLP_MSGRESULT, newLongPtr); }
LONG_PTR GetMsgResult() const
{ return GetLongPtr(DWLP_MSGRESULT); }
#endif
};
}}
#endif