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.