summaryrefslogtreecommitdiff
path: root/redo/common_windows.c
diff options
context:
space:
mode:
Diffstat (limited to 'redo/common_windows.c')
-rw-r--r--redo/common_windows.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/redo/common_windows.c b/redo/common_windows.c
index 153aa76..d5d7c72 100644
--- a/redo/common_windows.c
+++ b/redo/common_windows.c
@@ -80,6 +80,8 @@ static LRESULT forwardNotify(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
// TODO give this a better name
BOOL sharedWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *lResult)
{
+ DWORD exstyle;
+
switch (uMsg) {
case WM_COMMAND:
*lResult = forwardCommand(hwnd, uMsg, wParam, lParam);
@@ -87,6 +89,15 @@ BOOL sharedWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *
case WM_NOTIFY:
*lResult = forwardNotify(hwnd, uMsg, wParam, lParam);
return TRUE;
+ case WM_CTLCOLORSTATIC:
+ exstyle = (DWORD) GetWindowLongPtrW((HWND) lParam, GWL_EXSTYLE);
+ if ((exstyle & WS_EX_TRANSPARENT) != 0) {
+ if (SetBkMode((HDC) wParam, TRANSPARENT) == 0)
+ xpanic("error setting transparent background mode to Labels", GetLastError());
+ *lResult = (LRESULT) hollowBrush;
+ return TRUE;
+ }
+ return FALSE;
}
return FALSE;
}