#define ws_ex_layered 0x00080000
#define lwa_colorkey 0x00000001
#define lwa_alpha 0x00000002
class ctransparent
;hinstance ctransparent::m_hinstance = null;
tranfunc ctransparent::m_pfunc = null;
bool ctransparent::initialized = false;
//// construction/destruction
//bool ctransparent::loaduser32dll()}}
return bret ;
}bool ctransparent::changetransparency(hwnd hwnd, colorref crkey, uint balpha, dword dwflags)
return bret;
}bool ctransparent::freeuser32dll()
return true;
}bool ctransparent::settransparentwnd(hwnd hwnd, colorref crkey, uint calpha, bool dwflags)
else
return bret;
}
在這裡呼叫這個靜態方法即可.
hwnd m_hmywnd = ::createwindow(l"loginwnddll", l"trawnd", ws_popup,
(int)((xres - m_wndwidth) / 2), (int)((yres - m_wndheight) / 2), m_wndwidth, m_wndheight, 0, 0, hinst, 0);
//在這裡註冊乙個視窗第三個引數表示視窗的型別
ctransparent::settransparentwnd((hwnd)m_hmywnd, 0xffffff, 200, 2); //設定視窗透明
::showwindow(m_hmywnd, sw_show);
實際上上面這個類使用了動態呼叫user32.dll中的setlayeredwindowattributes函式,通過這個函式來實現視窗透明方式,這個方法與網上的大多數方法類似,不過是加了乙個類進行了封裝 win32視窗樣式
private const gwl style 16 視窗樣式 private sub command1 click orstyle end sub private sub orstyle dim lstyle as long lstyle getwindowlong me.hwnd,gwl sty...
WIN32視窗建立
win32視窗建立過程 1 定義視窗類 在msdn中找到函式原型 winmain 2 定義視窗處理函式 在msdn中找到原型 windowproc 3 設計視窗類 4 註冊視窗類 registerclass registerclas 5 建立視窗 createwindow createwindowe...
win32繪製視窗
static int cxclient,cyclient 宣告兩個變數存放滑鼠 x,y 座標.在下面,我們為這兩項賦值時,loword lparam 代表取 lparam 的低 16 位,hiword lparam 代表取lparam 的高 16 位,在 lparam 中存放的實際就是滑鼠的位置,低...