我最近从“图像列表”转换为“虚拟图像列表”和“图像收集”控件。我所有的图像都以透明的png文件形式存储在TImageCollection中。它们可以在工具栏工具按钮上很好地呈现,但是这些相同的图像不会通过TMainMenu呈现为透明图像。我是否需要使用“所有者绘图”渲染所有菜单?
Embarcadero仅添加TImageCollection和TVirtualImageList组件(旧组件不会更改)。许多旧组件不会从TImageList或TVirtualImageList组件调用DoDraw方法(几乎每个组件都使用自己的透明性方法)。甚至从TImageList调用DoDraw方法的组件也不一定总是正常工作(样式问题)。
他们还对透明图像使用“过时的”方法(几乎在所有旧组件中都不使用alpha混合)。
我制作了自己的降序组件(透明图像,速度按钮,工具栏,树视图,tabcontrol),TImageCollection和TVirtualImageList。但是不使用TMenu组件(仅使用我的TImageCollection和TVirtualImageList版本),因为TMenu从TImageList / TVirtualImageList调用DoDraw方法来绘制图标。
我认为Embarcadero必须更改组件中的绘图图片。他们需要在所有带有图片的组件中从TImageList / TVirtualImageList调用DoDraw方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句