我工作在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