半透明視窗的實現

2022-02-17 21:53:30 字數 456 閱讀 2167

在上篇 關於視窗嵌入桌面及透明的注意事項 提到 setlayeredwindowattributes 會使視窗上的控制項也一起被透明化

網上搜了一下,也沒有比較好的解決辦法

似乎唯一的解決辦法就是:在視窗後面再貼個透明視窗。。。

步驟:1. 使用 setwindowrgn 將沒有控制項的區域鏤空

2. 建立乙個 layeredwindow 在當前視窗後面

為此寫了個類,通過帶alpha通道的bitmap或者png來實現視窗透明

具體實現就不寫了,看 附件 吧

**可能有不少問題,大家看看基本原理就行了,呵呵

效果

半透明 MFC實現父視窗不透明,子視窗半透明效果

cpp view plain copy onerasebkgnd cdc pdc 描述 根據msdn所述,子視窗的半透屬性是跟隨父視窗的。也就是說在子視窗中用setlayeredwindowattributes方法完成透明是不可行的。如果子視窗設定成overlap或者popup格式,雖然可用setl...

Layered Windows視窗的半透明效果

首先要做的就是在createwindowex 時加入ws ex layered風格。之後呼叫setlayeredwindowattributes 該函式原型如下 bool winapi setlayeredwindowattributes in hwnd hwnd,視窗控制代碼 in colorre...

如何製作半透明視窗

用過金山詞霸的朋友,一定會為其半透明的翻譯提示視窗而稱奇。究竟這種視窗是如何做出來的呢?下面我們將來 這種半透明的視窗的製作方法。一 原理 首先,我們先從透明視窗說起,其實透明視窗就是可以透過視窗看到它背景。所以,我們可以將視窗後面的背景圖象,顯示在視窗前面,就可實現透明視窗的效果了。至於半透明的效...