Mercurial > dwindows
comparison win/dw.c @ 1518:bd538277e1e8
Aero Glass fix... instead of trying to draw transparent... use the transparency key as the background color this fixes checboxes/radioboxes and scrolling issues. Seems to have made buttons look better too.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 29 Dec 2011 16:37:40 +0000 |
parents | 03c0eca3aaba |
children | 514b061ac8b2 |
comparison
equal
deleted
inserted
replaced
1517:6506f29dfefc | 1518:bd538277e1e8 |
---|---|
2730 case WM_CTLCOLORDLG: | 2730 case WM_CTLCOLORDLG: |
2731 { | 2731 { |
2732 if(_dw_composition && (!thiscinfo || (thiscinfo && | 2732 if(_dw_composition && (!thiscinfo || (thiscinfo && |
2733 (thiscinfo->back == -1 || thiscinfo->back == DW_RGB_TRANSPARENT)))) | 2733 (thiscinfo->back == -1 || thiscinfo->back == DW_RGB_TRANSPARENT)))) |
2734 { | 2734 { |
2735 SetBkMode((HDC)mp1, TRANSPARENT); | 2735 if(!(msg == WM_CTLCOLORSTATIC && SendMessage((HWND)mp2, STM_GETIMAGE, IMAGE_BITMAP, 0))) |
2736 if(thiscinfo && thiscinfo->hbrush) | |
2737 { | 2736 { |
2738 DeleteObject(thiscinfo->hbrush); | 2737 SetBkColor((HDC)mp1, _dw_transparencykey); |
2739 thiscinfo->hbrush = 0; | 2738 if(thiscinfo->hbrush) |
2739 DeleteObject(thiscinfo->hbrush); | |
2740 thiscinfo->hbrush = CreateSolidBrush(_dw_transparencykey); | |
2741 SelectObject((HDC)mp1, thiscinfo->hbrush); | |
2742 return (LONG)thiscinfo->hbrush; | |
2740 } | 2743 } |
2741 return (LONG)GetStockObject(NULL_BRUSH); | |
2742 } | 2744 } |
2743 } | 2745 } |
2744 } | 2746 } |
2745 #endif | 2747 #endif |
2746 } | 2748 } |