delphi - 将 AlphaBlend 属性添加到面板

标签 delphi delphi-7

我想在我的系统中制作一个半透明的面板,如 AlphaBlend 属性,但此属性仅适用于 Tform 而不是 Tpanel。如何使面板半透明。

最佳答案

在 Windows 8 之前,子控件无法应用 WS_EX_LAYERED 窗口样式。这就是为什么非 TForm 组件没有 AlphaBlendTransparentColor 属性的原因。按原样使用标准组件不可能满足您的要求。即使您创建了一个自定义的自绘组件,您仍然会与系统发生冲突,因为您必须在组件的 Parent 上绘制才能达到预期的效果。您可以尝试四处寻找第三方解决方案,但您不太可能找到很多选择,因为使用半透明子控件并不是很常见的做法。

话虽如此,您可以尝试的一个简单选择是将 TPanel 放在一个单独的无边框无标题半透明 TForm 上,将面板放置在 TForm 在您希望 TPanel 出现的父 TForm 区域上(但不要设置面板​​ TFormParent 属性或此练习将不起作用)然后移动面板 TForm 以与父级 TForm 同步移动。

关于delphi - 将 AlphaBlend 属性添加到面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19163096/

相关文章:

delphi - SpTBX : draw on my canvas X icon like on SpTbx panel

delphi - 检测 'text' 文件类型(ANSI 与 UTF-8)

delphi - DELPHI中读取txt文件的调试器异常通知错误

从时间服务器检索当前时间和日期的 Delphi 例程

Delphi - 如果使用/检查映射文件详细信息则进行条件编译

c++ - 将记录作为函数结果从 Delphi DLL 传递到 C++

delphi - 更改进度栏颜色

delphi - 使用 Indy 发布数据并将其接收到 TWebBrowser

delphi - 从类助手访问私有(private)字段

delphi - 定制德尔福颜色