【发布时间】:2018-05-14 05:54:14
【问题描述】:
我创建了一个用作背景表单的表单 (Form1)。我将其 AlphaBlend 属性设置为 True,并将其 AlphaBlendValue 设置为 230,使表单透明。
然后我创建第二个完全独立的表单 (Form2),其 AlphaBlend 属性为 False(我什至在创建表单时隐式设置了此属性)。然后我将 Form1 设置为 Form2 的父窗口(通过 Form2.Parent = Form1)。
这使得子窗口具有父窗口的 AlphaBlend 属性,然后不能单独更改。我根本无法修改 Form2 上的 Alpha 属性。
我要求 Form2 是 Form1 的子级,但不能继承 Alpha 属性。
【问题讨论】:
-
对于 Windows 7 及以下版本,您将无法执行此操作。这受操作系统限制
-
我认为这个问题与操作系统无关,因为我已经在 VB 中测试了相同的方法,它的工作没有问题,也许在 c# 中也可以工作,但对于 Delphi,它可能需要一个新类或一个特殊的类组件...
-
是什么让您如此确定 Delphi 实现与您的 vb 代码基于相同的 winapi 功能?
-
I think that this issue has no relation with OS。 Delphi 控件是对 winapi 控件的简单包装。 -
对不起我的愚蠢......但我的评论谈论的是 VB 代码在 delphi 中的工作方式,而不是关于 API 本身(即使 Api 不同,如果表单没有意义)本身在 VB 和 Delphi 中是完全不同的......)最后表示最诚挚的问候,任何建议都非常感谢。