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 }