我用來創建一個完整的透明窗體,但是PNG和32位圖像不會混合到窗體,圖像不能正確顯示其透明度。我得到的概念here但我不能把它放在按鈕上。除了圖像背景之外,所有的基礎都是不可見的。順便說一句,我的編譯器是delphi7和D2009如何將窗體變成完全透明的32位阿爾法?
回答
似乎Andreas Hausladen偶然發現了一個類似的問題,並已經實現了一個解決方案:他重寫了JVCL庫中的TJvTransparentForm。
即使您不打算直接使用該組件,您也可以通過研究來源獲得一些洞察。
Here是鏈接到Andreas的文章。
-1的鏈接沒有任何解釋。 – 2010-06-05 21:34:01
請尊重JVCL的許可。即使從它複製源代碼,許可證也會保持不變。 – ChristianWimmer 2010-06-06 11:24:55
如果你想用一個PNG來控制透明度,你可能想看看 「分層窗口」:
- SetWindowLong函數(句柄,GWL_EXSTYLE,GetWindowLong(手柄,GWL_EXSTYLE)或WS_EX_LAYERED);
- UpdateLayeredWindow
這可以讓你有可變透明度翻過窗,就像PNG允許!問題是,分層窗口上的控件並不真正起作用,我猜這是Windows的問題。我的解決方案是將大窗口實際制動成多個較小的窗口,所有控件都放在非分層窗口中。這又產生了另一個問題,因爲你現在有多個窗口,你希望它們像一個窗口一樣移動。解決方案:實現自己的算法用於移動窗口翻過屏幕,並使用:
- BeginDeferWindowPos
- DeferWindowPos
- EndDeferWindowPos
......在一次移動所有窗口,所以用戶不知道她在看多個窗口!最後,如果你想獲得幻想,你可能想看看SetWindowRgn:這允許你創建一個非矩形形狀的窗口。
P.S:閱讀安德里亞從Uwe Raabe的鏈接,他使用了相同的技術,只有他將它打包準備行動!
- 1. 如何使窗體完全透明
- 2. 在ComboBox DrawItem事件中複製TImageList中的透明(32位阿爾法)位圖
- 3. PHP - 水印PNG透明度/阿爾法
- 4. Pygame中完全透明的窗戶?
- 5. UIView:不透明與阿爾法與不透明
- 6. 阿爾法以串聯SVG DEFS透明的漸變元素
- 7. 完全透明的面具 - >完全不透明的部件
- 8. 我怎樣才能得到一個完整的8位阿爾法透明表格窗口
- 9. UITabBar完全透明
- 10. 如何用MFC創建一個完全透明的窗口?
- 11. 透明紋理不完全不透明
- 12. 是24位與阿爾法PNG相同的32位PNG?
- 13. 如何將完全透明的div和文字上的半透明背景
- 14. C#透明窗體
- 15. 完全不透明的e.dataTransfer.setDragImage
- 16. 完全透明的圖像
- 17. Canvas.draw()在不透明的背景結果的透明形狀254阿爾法
- 18. 如何使手風琴完全透明
- 19. 如何使透明框內的窗體(iframe)不透明?
- 20. 窗體的透明背景(Windows窗體)
- 21. 聲明阿爾法變換器
- 22. android/opengles阿爾法紋理不是半透明的,但二進制透明
- 23. 女士訪問窗體變得透明
- 24. 窗體不透明度..如何控制?
- 25. 如何使子窗體透明?
- 26. 如何點擊透明窗體
- 27. android.R.color.transparent不完全透明
- 28. 使JSplitPane完全透明
- 29. 使PopUp完全不透明
- 30. 完全透明邊框
如果它是完全透明的,那麼你可以將它隱藏*。 – 2010-06-05 21:34:24