我工作在Windows Deskband在Delphi XE2适用于Windows XP,Vista和Windows 7(Win32和Win64的)...如何使我的Deskband的(任务栏上的工具栏)形式透明
我实现所有的在我的代码中有必要的接口(ITrayDeskBand,IDeskBandInfo,IDeskBand2,IDeskBand),并且所有的接口都按照它应该的那样工作(在Vista/7上没有警告抱怨其他人经历过的兼容性)。
我遇到的问题是我的Deskband表格出现了一个不透明的乐队。此外,只显示某些控件(在本例中为TBitBtn和包含PNG的TImage)。我需要它正确显示TEdit和TComboBox对象,但它们不会出现。
我试过在窗体上启用GlassFrame
和SheetOfGlass
属性,但这并没有帮助。
此外,窗体本身超出了任务栏的顶部边界,这意味着如果光标与我的Deskband正上方的任务栏顶部一致,则无法(例如)调整任务栏的大小。
我相信有些东西是Delphi的VCL TForm类型在后台渲染的TForm类型不兼容的Deskband容器......但这只是一个怀疑。
这里的说明的各种问题的屏幕截图:
正如你可以看到(见上文),所述Deskband的表格是苍白(而不是透明的),它重叠任务栏的顶部(防止调整并在任务栏“隐藏”时自动触发)
任何想法?
更新1 好吧,我一直在玩周围,发现,创造一个TToolBar控制在一个完全不同的行为被观测到用于Deskband,而不是一种形式:
注意有三个TToolButton
控件(由于Glass主题,它们的文本几乎不可见)?两个分隔符之间还应该有TEdit
和TComboBox
,但这些分隔符完全拒绝显示。
还注意artefacting(重复实际的任务栏图标)?
我不确定这是否是正确方向迈出的一步,但它可能会帮助您(或其他人)推导出解决方案!
你试过摆弄窗体的'AlphaBlend'属性吗? – Pateman 2011-12-27 16:09:25
是......绝对无济于事!它似乎是唯一的财产,使任何区别是GlassFrame/SheetOfGlass ...但只让我到图中显示的点! – LaKraven 2011-12-27 16:13:16
您是否尝试过将'GlassFrame'与'AlphaBlend'结合起来? :) – Pateman 2011-12-27 16:22:40