[Bug 2948] WM_CTLCOLOREDIT & LISTBOX return ignored and pen bug

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Sep 9 12:09:03 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=2948


Andrea Denzler <andrea at andreaplanet.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrea at andreaplanet.com




--- Comment #7 from Andrea Denzler <andrea at andreaplanet.com>  2008-09-09 12:09:02 ---
With wine 1.1.4 tested on ubuntu 8.04: 

The background color is shown but the brush/pen is ignored. For Windows
developers wanting a better compatibility under Linux I suggest this workaround
in the WM_CTLCOLOREDIT message:

COLORREF m_BackgroundColor;
HBRUSH m_BackgroundBrush;

with MFC:
case CTLCOLOR_LISTBOX: 
  pDC->SetBkMode(TRANSPARENT);
  pDC->SetBkColor(m_BackgroundColor);
  HBRUSH hbr = m_BackgroundBrush;
  return hbr;

Windows API:
case CTLCOLOR_LISTBOX: 
  ::SetBkMode(hDC, TRANSPARENT);
  ::SetBkColor(hDC, m_BackgroundColor);
  return m_BackgroundBrush;

Windows will correctly use only the m_BackgroundBrush because due to the
TRANSPARENT settings the m_BackgroundColor is ignored.
Linux Wine will ignore the Brush and use m_BackgroundColor. Of course
m_BackgroundColor should be similar to the more complex m_BackgroundBrush. 

just my 2 cents
Andrea


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list