diff options
| author | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2020-04-19 15:40:25 +0200 |
|---|---|---|
| committer | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2020-04-19 15:50:28 +0200 |
| commit | 9b6fbe3b5fd7e8bcad7f0f0993409f4d6777c42f (patch) | |
| tree | f5aa786f5ab9ead3ecbc46f5770473158d91fc5b /alf/alf.h | |
| parent | 144736e53fd0142ec215a375bf588b9634e312ed (diff) | |
panel vtbl first implementation
still basically untested
Diffstat (limited to 'alf/alf.h')
| -rw-r--r-- | alf/alf.h | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -24,6 +24,13 @@ typedef struct { BOOL (*pretranslatemessage)(void * /*closure*/, HWND /*window*/, MSG * /*message*/); } ALFWindowVTable; +typedef struct { + void (*create)(void * /*closure*/, HWND /*panel*/); + void (*destroy)(void * /*closure*/, HWND /*panel*/); + LRESULT (*message)(void * /*closure*/, HWND, UINT, WPARAM, LPARAM); + void (*paint)(void * /*closure*/, HWND, HDC, RECT * /*rcPaint*/); +} ALFPanelVTable; + // layout flags #define ALF_LAYOUT_SIZE_FIXED 0x00 #define ALF_LAYOUT_SIZE_QUERY 0x01 @@ -93,6 +100,8 @@ typedef struct { #define ALF_WM_LBL_GETSTYLE (ALF_WM__BASE + 201) #define ALF_WM_LBL_SETSTYLE (ALF_WM__BASE + 202) +#define ALF_WM_PANEL_SETVTABLE (ALF_WM__BASE + 201) + typedef DWORD ALFColor; #define ALF_COLOR_TRANSPARENT ((ALFColor)-1) @@ -318,6 +327,12 @@ ALF_ComboBoxSetText(HWND combo, const TCHAR *text); HWND ALF_AddPanel(HWND parent, WORD id, int x, int y); +void +ALF_Panel_SetVTable(HWND panel, const ALFPanelVTable *vtbl, void *closure); + +LRESULT +ALF_Panel_DefWindowProc(HWND panel, UINT msg, WPARAM wparam, LPARAM lparam); + // tab control HWND ALF_AddNotebook(HWND parent, WORD id, int x, int y); |
