我正在使用适用于Windows XP,Vista和7(Win32和Win64)的Delphi XE2中的Windows Deskband ...
我在我的代码中实现了所有必要的接口(ITrayDeskBand,IDeskBandInfo,IDeskBand2,IDeskBand),并且所有接口都完全正常(Vista/7上没有任何警告抱怨其他人经历过的兼容性).
我遇到的问题是我的Deskband表格显示为不透明的乐队.此外,仅显示某些控件(在这种情况下,TBitBtn和TImage包含PNG).我需要它来正确显示TEdit和TComboBox对象,但它们根本不会出现.
我已尝试在我的表单上启用GlassFrame
和SheetOfGlass
属性,但这没有任何帮助.
此外,表单本身超出了任务栏的顶部边界,这意味着如果光标与我的Deskband正上方的任务栏顶部一致,则不能(例如)调整任务栏的大小.
我相信德尔福的VCL TForm类型在幕后做了一些事情,这使得TForm类型与Deskband容器不兼容......但这只是一种怀疑.
这是一个截图,说明了各种问题:
正如您所看到的(上图),Deskband的表格是苍白的(而不是透明的),它与任务栏的顶部重叠(防止在任务栏"隐藏"时调整大小和自动隐藏)
有任何想法吗?
更新1 好的,我一直在玩,并注意到在创建用于Deskband的TToolBar控件时,观察到完全不同的行为,而不是表单:
请注意,有三个TToolButton
控件(由于Glass主题,它们的文本几乎不可见)?还应该有一个TEdit
和TComboBox
两个分隔符之间,但这些完全拒绝显示.
还要注意人工制品(重复实际的任务栏图标)?
我不确定这是否是朝着正确方向迈出的一步,但它可能会帮助您(或其他人)推断出一个解决方案!
我一直在研究如何让应用程序将自定义 DeskBand(或类似的东西)添加到 Windows 10 和 11 任务栏:
有各种关于 IDeskBand2 和其他任务栏扩展的参考,但我得到了相互矛盾的信息 [2],关于 DeskBand 是否只是被弃用,或者实际上不再受支持,例如,微软表示:
您应该在新开发中使用缩略图工具栏来代替桌面带,从 Windows 7 开始不支持桌面带。
...但缩略图工具栏要求您将鼠标悬停在任务栏按钮上才能看到它们。这与任务栏上始终可见的区域不同。
是否没有官方(非 hacky)方法来为 Windows 10/11 创建类似上面的“屏幕时间”示例的内容?
谁能阐明这一点?
[2]:以下是微软暗示 Windows 7 之后不支持的示例。