gpt4 book ai didi

delphi - 如何使我的桌面带(任务栏工具栏)表单透明

转载 作者:行者123 更新时间:2023-12-03 14:40:06 30 4
gpt4 key购买 nike

我正在 Delphi XE2 中为 Windows XP、Vista 和 7(Win32 和 Win64)开发 Windows Deskband...

我已经在我的代码中实现了所有必要的接口(interface)(ITrayDeskBand、IDeskBandInfo、IDeskBand2、IDeskBand),并且所有这些都完全按照其应有的方式工作(Vista/7 上没有像其他人经历过的那样提示兼容性的警告)。

我遇到的问题是我的 Deskband Form 显示有不透明的带子。此外,仅显示某些控件(在本例中为 TBitBtn 和包含 PNG 的 TImage)。我也需要它来正确显示 TEdit 和 TComboBox 对象,但它们根本不会出现。

我尝试在表单上启用 GlassFrameSheetOfGlass 属性,但这没有一点帮助。

此外,表单本身超出了任务栏的顶部边界,这意味着如果光标与紧邻我的桌面带上方的任务栏顶部对齐,则无法(例如)调整任务栏的大小。

我相信 Delphi 的 VCL TForm 类型在幕后做了一些事情,导致 TForm 类型与 Deskband 容器不兼容......但这只是一个怀疑。

这是说明各种问题的屏幕截图:

enter image description here

正如您所看到的(上图),Deskband 的窗体是苍白的(而不是透明的),它与任务栏的顶部重叠(防止任务栏“隐藏”时调整大小和自动隐藏触发)

有什么想法吗?

更新1好的,我一直在尝试并注意到在创建用于 Deskband 的 TToolBar 控件而不是表单时观察到完全不同的行为:

enter image description here

注意到有三个 TToolButton 控件(由于 Glass 主题,它们的文本几乎不可见)?两个分隔符之间还应该有一个 TEditTComboBox,但它们根本拒绝显示。

还注意到人工制作(实际任务栏图标的重复)吗?

我不确定这是否是朝着正确方向迈出的一步,但它可能会帮助您(或其他人)推断出解决方案!

最佳答案

好吧...我终于弄清楚了这一点,这是我遇到过的最荒谬的事情。

我在这里发布我的发现是为了其他人的利益(以避免您经历我刚刚经历的麻烦)。

要使 Deskband 表单上的所有控件显示并正常工作,只需将表单(在 IDE 设计器中)的 Visible 属性设置为 正确

我知道这很荒谬,但它有效并且很容易重复。

关于delphi - 如何使我的桌面带(任务栏工具栏)表单透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646510/

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