Move notifies around to match native

Vitaliy Margolen wine-devel at
Thu Apr 14 11:56:51 CDT 2005

Tuesday, April 12, 2005, 10:57:02 PM, you wrote:
> On Tue, Apr 12, 2005 at 04:13:32PM -0600, Vitaliy Margolen wrote:
>> Well, yes and no. This is custom draw callback/notify. It shouldn't change
>> control's parameters, such as color. At least on a permanent basis. This is what
>> set color messages for.
> Agreed. But judging by what listview is doing, we do need to use them when
> we are drawing the item (or whatever). But I agree, we must not change
> those parameters permanently.

Ok, I need help here. I spend half a day trying to fix this. I moved send notify
after color and font setup in TREEVIEW_DrawItem. It's getting closer to native.
But! No matter what I try, I can't set background color from within Delphi App
on DrawItemNotify. Which does work on windows.

Am I missing something? I changed text mode to opaque, so it should use current
brush color for background. But when I printing GetDCBrushColor it stays the
same! Could we have a problem somewhere in GDI?

>> Also I can't quite understand why TVM_GETITEM for iImage returns something like
>> 0x4079D5D0 while traces show 0, 1 or 3 dependant on open/closed/has children.
> I guess this needs more debugging :)
I haven't debugged this one yet. I have a filling that it's callback messing
things up. It could be that Delphi does not respond correctly to updete disp
info notifies when they sent not from drawing code. Not a problem right now.
It's doing the same on native.

More information about the wine-devel mailing list