1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
// Windows/Control/Window2.h
#ifndef __WINDOWS_CONTROL_WINDOW2_H
#define __WINDOWS_CONTROL_WINDOW2_H
#include "Windows/Window.h"
#include "Windows/Defs.h"
#ifndef _WIN32
typedef void * WNDPROC;
typedef void * CREATESTRUCT;
typedef struct
{
HWND hwndFrom;
UINT code;
#define NM_DBLCLK 1
#define LVN_ITEMCHANGED 2
#define LVN_COLUMNCLICK 3
#define CBEN_BEGINEDIT 10
#define CBEN_ENDEDITW 11
} NMHDR;
typedef NMHDR * LPNMHDR;
typedef struct tagNMLISTVIEW
{
NMHDR hdr;
INT iItem;
INT iSubItem;
UINT uNewState;
UINT uOldState;
// UINT uChanged;
// POINT ptAction;
LPARAM lParam;
} NMLISTVIEW, *LPNMLISTVIEW;
typedef void * LPNMITEMACTIVATE;
#define NM_RCLICK 1234 /* FIXME */
// FIXME
#define WM_CREATE 1
#define WM_COMMAND 2
#define WM_NOTIFY 3
#define WM_DESTROY 4
#define WM_CLOSE 5
#define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
#define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xFFFF))
#endif
namespace NWindows {
namespace NControl {
class CWindow2 // : public CWindow
{
// LRESULT DefProc(UINT message, WPARAM wParam, LPARAM lParam);
public:
// CWindow2(HWND newWindow = NULL): CWindow(newWindow){};
CWindow2() {}
virtual ~CWindow2() {}
#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 * /* 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() { /* FIXME PostQuitMessage(0); */ }
virtual void OnClose() { /* FIXME Destroy(); */ }
/*
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
|