You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the Virtual TreeView control is placed on a control that has the StyleEx flag WS_EX_COMPOSITED set, horizontal scrolloing does not update the header
#458
Closed
vincentparrett opened this issue
Jan 21, 2015
· 1 comment
The virtual tree draws the header when it receives a WM_NCPAINT message. During the actual drawing, it creates a bitmap first and then uses BitBlt to copy the bitmap to the canvas, using GetDCEx to obtain the device context.
However, I found that all painting via a HDC needs to be done in WM_PAINT (source: https://groups.google.com/forum/#!topic/microsoft.public.win32.programmer.ui/hZer0Xidf3A)
Using that info, I moved the code to draw the header to TBaseVirtualTree.WMPaint() for testing purposes, which effectively resovled the issue of the non-updating header. See below for example code that I moved to the end of WMPaint:
procedureTBaseVirtualTree.WMPaint(var Message: TWMPaint);
...
R := FHeaderRect;
Flags := DCX_CACHE or DCX_CLIPSIBLINGS or DCX_WINDOW or DCX_VALIDATE;
DC := GetDCEx(Handle, 0, Flags);
FHeader.FColumns.PaintHeader(DC, R, -FEffectiveOffsetX);
ReleaseDC(Handle, DC);
end;
…ed on a control that has the StyleEx flag WS_EX_COMPOSITED set, horizontal scrolloing does not update the header
# Conflicts:
# Source/VirtualTrees.pas
From [email protected] on August 08, 2014 01:13:01
Seen on Windows 8.1 with V5.4.0. Will add repro later.
Original issue: http://code.google.com/p/virtual-treeview/issues/detail?id=458
The text was updated successfully, but these errors were encountered: