VC如何實現透明視窗

2021-03-31 08:56:31 字數 926 閱讀 8063

vc如何實現透明視窗     選擇自 leisureful

的 blog

在對話方塊初始化函式中加入:

#define lwa_colorkey ?0x00000001

#define ws_ex_layered ?0x00080000

typedef bool (winapi *lpfnsetlayeredwindowattributes)(hwnd hwnd, colorref crkey, byte balpha, dword dwflags);

lpfnsetlayeredwindowattributes setlayeredwindowattributes;

//設定成邊緣透明

colorref maskcolor=rgb(0,255,0);

hmodule huser32 = getmodulehandle("user32.dll");

setlayeredwindowattributes = (lpfnsetlayeredwindowattributes)getprocaddress(huser32,"setlayeredwindowattributes");

setwindowlong(getsafehwnd(), gwl_exstyle, getwindowlong(getsafehwnd(), gwl_exstyle) │ ws_ex_layered);

? ?setlayeredwindowattributes(getsafehwnd(), maskcolor, 255, lwa_colorkey);

freelibrary(huser32);

其中maskcolor是透明顏色,也就是說把什麼顏色區域設定成透明

作者blog:http://blog.csdn.***/leisureful/

VC透明窗體以及平滑關閉視窗

vc透明窗體以及平滑關閉視窗 vc實現透明窗體 setwindowlong this getsafehwnd gwl exstyle,getwindowlong this getsafehwnd gwl exstyle 0x80000 hinstance hinst loadlibrary user...

如何製作半透明視窗

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

vc實現如何平滑地關閉視窗

關鍵字 圖層,視窗 譯者 阿鬼 mornlee 21cn.com 環境 vc6,win2000,winxp 技術準備 很簡單,就是使用 windows api函式 setlayeredwindowattributes hwnd,colorref,byte,dword setlayeredwindow...

VC中如何實現視窗的隱藏

vc中如何實現視窗的隱藏 用mfc做的dialog based 程式只要在oninitdialog 函式裡面寫如下 就能實現視窗隱藏 setwindowpos cwnd wndnotopmost,0,0,0,0,swp hidewindow 但是在工作管理員中還能看到 將上述 寫入一個按紐的clic...

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

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