gpt4 book ai didi

delphi - TCustomControl 上的 TGraphicControl 透明度

转载 作者:行者123 更新时间:2023-12-02 12:58:50 25 4
gpt4 key购买 nike

我创建了一个基于 TGraphicControl 的控件,该控件是透明的且大部分是空的。它实际上在线条艺术中实现了一个简单的符号。即TLFMagicControl = class(TGraphicControl)

在我的构造函数中:

ControlStyle := ControlStyle + [csOpaque];

然后将我的“TLFMagicControl”放置在我自己的面板(TCustomControl)上。即 TLFGridPanel = 类(TCustomControl)

TLFMagicControl 的透明度可以完美地相互交互,但不能与它们所在的父面板 (TLFGridPanel) 交互。

TLFGridPanel 大部分时间都是黑色的,所以这不是问题,但我希望用户能够打开/关闭面板上的网格线。当我重写绘制处理程序 TLFGridPanel 并绘制网格时,放置在顶部的控件不透明并阻挡下面的网格线。

TCustomControl 有没有办法解决这个问题,或者我为面板选择了错误的基础?

Example of non transparent controls

最佳答案

csOpaque 告诉 VCL 您完全自己绘制控件,这会抑制自动背景绘制(或删除)。删除该控件样式以便让 WM_ERASEBKGND 完成其工作。

关于delphi - TCustomControl 上的 TGraphicControl 透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32687488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com