我正在从 TVirtualDrawTree 派生一个自定义控件,并且我正在覆盖该DoPaintBackground
事件以绘制树视图的背景渐变效果。
我也重写了这个DoBeforeItemPaint
函数,所以我可以自定义绘制树视图项。但是,我不能完全设法让项目以透明背景绘制。
查看 TVirtualDrawTree 的源代码,看起来好像该项目被复制到 TBitmap 图像然后复制到画布上,但是,我尝试编辑源代码并在位图本身上设置透明度选项,但它似乎仍然没有工作。
我还尝试在绘制之前清除画布Canvas.Brush.Style := bsClear
并填充项目矩形,但没有任何乐趣。