我创建了一个基于TGraphicControl的控件,它是透明的,大多是空的空间。它实际上在线条艺术中实现了一个简单的符号
即ControlStyle := ControlStyle + [csOpaque];
在我的构造函数中:
{{1}}
我的" TLFMagicControl"然后放在我自己的面板上,这是一个TCustomControl。 即TLFGridPanel = class(TCustomControl)
TLFMagicControl的透明度可以完美地相互交互,但不能与它们所在的父面板(TLFGridPanel)完美交互。
TLFGridPanel的大部分时间都是黑色,因此它不是问题,但我希望用户能够打开/关闭面板上的网格线。当我覆盖绘制处理程序TLFGridPanel并绘制我的网格时,放在顶部的控件不透明并阻挡下面的网格线。
对于TCustomControl有没有办法解决这个问题,或者我为我的面板选择了错误的基础?
答案 0 :(得分:1)
csOpaque
告诉VCL你完全自己绘制控件,它会自动进行背景绘制(或擦除)。删除该控件样式以让WM_ERASEBKGND
完成其工作。