[英]Transparent hwnd window
是否可以創建一個“透明”的 hwnd 窗口? 我的意思是該窗口沒有背景或邊框,但只有文本可見......就像我有一個主窗口背景並且我在背景上寫了一些東西(或者如果我只想添加文本在某些區域通過 window ),我想使它成為一個可點擊的選項,以創建那種不可見但仍可點擊的窗口。
在 Windows 2000 及更高版本上,您可以使用WS_EX_LAYERED
樣式創建頂級窗口(在 Windows 8 及更高版本上,子窗口現在也可以使用WS_EX_LAYERED
樣式),然后使用SetLayeredWindowAttributes()
或UpdateLayeredWindow()
來創建窗戶透明。
創建純背景色,然后將該顏色設置為窗口的透明色。 窗口上不使用該顏色的任何內容都不會是透明的。 操作系統將為您處理其余的工作。
請參閱 MSDN 了解更多詳細信息:
根據您的hwnd
標簽,我假設您正在使用 C++ 或至少可以訪問 Win32 API,有大量資源可以幫助您入門。 這個概念被稱為Window Compositing
。
如果您使用 WPF 而不是 C++,這里有一個鏈接: WPF 中的透明窗口
首先設置樣式以啟用圖層:
SetWindowLong(itsec->first, GWL_EXSTYLE, GetWindowLong(itsec->first, GWL_EXSTYLE) & WS_EX_LAYERED);
然后指明您是否希望透明度為 alpha:
SetLayeredWindowAttributes(itsec->first, RGB(154,255,214), 200, LWA_ALPHA);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.