From 29393896e21cab201646352cce017992cf0b2ddb Mon Sep 17 00:00:00 2001 From: Jonas Kümmerlin Date: Sun, 7 Jul 2019 18:59:26 +0200 Subject: first notebook implementation --- alf/alfpanel.cpp | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) (limited to 'alf/alfpanel.cpp') diff --git a/alf/alfpanel.cpp b/alf/alfpanel.cpp index 5a18976..8583d2e 100644 --- a/alf/alfpanel.cpp +++ b/alf/alfpanel.cpp @@ -37,6 +37,16 @@ ALF__PanelWindowProc(HWND window, UINT msg, WPARAM wparam, LPARAM lparam) SetWindowLongPtr(window, 0, 0); } + if (msg == WM_ERASEBKGND) { + HDC hdc = (HDC)wparam; + + RECT r = { 0, 0, 0, 0 }; + GetClientRect(window, &r); + ALF_Compat_DrawThemeParentBackground(window, hdc, &r); + + return TRUE; + } + if (ALF_ShouldMessageBubble(window, msg, wparam, lparam)) return SendMessage(GetParent(window), msg, wparam, lparam); @@ -74,23 +84,29 @@ ALF_RegisterPanelClass(void) ATOM classatom = RegisterClass(&cls); if (!classatom) - MessageBox(NULL, TEXT("FATAL: Could not register Combo class"), NULL, MB_OK); + MessageBox(NULL, TEXT("FATAL: Could not register panel class"), NULL, MB_OK); _alf_panelClass = MAKEINTATOM(classatom); } +HWND +ALF_CreatePanelWindow(HWND parent, WORD id) +{ + return CreateWindowEx(WS_EX_CONTROLPARENT, + _alf_panelClass, + TEXT(""), + WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN, + 0, 0, 0, 0, + parent, + (HMENU)(int)id, + ALF_HINSTANCE, + NULL); +} + HWND ALF_AddPanel(HWND parent, WORD id, UINT x, UINT y) { - HWND hwndPanel = CreateWindowEx(WS_EX_CONTROLPARENT, - _alf_panelClass, - TEXT(""), - WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN, - 0, 0, 0, 0, - parent, - (HMENU)(int)id, - ALF_HINSTANCE, - NULL); + HWND hwndPanel = ALF_CreatePanelWindow(parent, id); ALFWidgetLayoutParams p; ZeroMemory(&p, sizeof(p)); -- cgit v1.2.3