TVirtualDrawTree header was flickering a lot when moving mouse over or scrolling the control. I did the following fix in acSBUtils.pas and the flickering is gone. I don't see any problems, what do you think?
Code:
3889: procedure TacEditWnd.acWndProc(var Message: TMessage);
…
4074: if GetWindowLong(CtrlHandle, GWL_EXSTYLE) and WS_EX_RTLREADING = 0 {SysLocale.MiddleEast }then begin
4075: Message.Result := Ac_NCDraw(Self, Self.CtrlHandle, -1, hdc(Message.wParam));
4076: if not (Self is TacVirtualTreeViewWnd) then // Added by Lasse
4077: begin
4078: DC := GetWindowDC(CtrlHandle);
4079: BitBltBorder(DC, 0, 0, SkinData.FCacheBmp.Width, SkinData.FCacheBmp.Height, SkinData.FCacheBmp.Canvas.Handle, 0, 0, cxLeftEdge, cyTopEdge, cxRightEdge, cyBottomEdge);
4080: ReleaseDC(CtrlHandle, DC);
4081: end;
4082: end;
I use the latest version of Virtual TreeView control and AlphaSkins.