Hi
I have a control derived from CListCtrl. It's completely ownerdrawn. The problem comes when some item is selected. The whole column is drawn selected but the text is drawn with the actual back color instead of transparent. As this is white I get white text on white background... very readable :)
I found that the difference between Windows and wine is the background mode. In Windows it's transparent whereas in wine it's opaque. I never change the background mode in my app, I guess I just lived from the fact that it's default transparent. Where is this set? Is this a wrong default parameter in wine or do I explicitly have to set the background mode in my app? I can do this, then it shows ok. But that's another change to my application I have to do because of wine. Maybe other apps may have similar problems.
bye Fabi
// from my code:
void CMyCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { // Prepare and test device context CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
// this is 1 for windows but 2 for wine // pDC->GetBkMode();
// wine fix pDC->SetBkMode(TRANSPARENT);
On December 18, 2003 07:28 am, Fabian Cenedese wrote:
Hi
I have a control derived from CListCtrl. It's completely ownerdrawn. The problem comes when some item is selected. The whole column is drawn selected but the text is drawn with the actual back color instead of transparent. As this is white I get white text on white background... very readable :)
I found that the difference between Windows and wine is the background mode. In Windows it's transparent whereas in wine it's opaque. I never change the background mode in my app, I guess I just lived from the fact that it's default transparent. Where is this set? Is this a wrong default parameter in wine or do I explicitly have to set the background mode in my app? I can do this, then it shows ok. But that's another change to my application I have to do because of wine. Maybe other apps may have similar problems.
Yep. As I remember we set the background explicitly in our application too for this reason.
bye Fabi
// from my code:
void CMyCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { // Prepare and test device context CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
// this is 1 for windows but 2 for wine // pDC->GetBkMode();
// wine fix pDC->SetBkMode(TRANSPARENT);