summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--redo/common_windows.c11
-rw-r--r--redo/label_windows.go2
2 files changed, 12 insertions, 1 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;
}
diff --git a/redo/label_windows.go b/redo/label_windows.go
index a37bc9d..7dc8723 100644
--- a/redo/label_windows.go
+++ b/redo/label_windows.go
@@ -18,7 +18,7 @@ func finishNewLabel(text string, standalone bool) *label {
// SS_NOPREFIX avoids accelerator translation; SS_LEFTNOWORDWRAP clips text past the end
// controls are vertically aligned to the top by default (thanks Xeek in irc.freenode.net/#winapi)
C.SS_NOPREFIX | C.SS_LEFTNOWORDWRAP,
- 0)
+ C.WS_EX_TRANSPARENT)
l := &label{
_hwnd: hwnd,
standalone: standalone,