电子通讯录的制作:有没有办法使窗口全透明,而使窗口中的内容镂空呢?

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 17:16:52
如题
任何窗口..
想了一下..应该不能.
现在做半透明窗口,希望谁能写一段源程序.VC下的.

有没有完整的?

#define WS_EX_LAYERED 0x80000
// TODO: 加载透明窗体
CDC *pDC = AfxGetMainWnd()->GetDC();
m_clr = RGB(255,0,0);
m_clrMask = RGB(236,233,216);
m_clrMask = pDC->GetPixel(10,10);

SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE,
GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE) | WS_EX_LAYERED);
typedef int (WINAPI* LPFUNC)(HWND, COLORREF , BYTE, DWORD);
HINSTANCE hins = ::LoadLibrary("User32.DLL");
if(hins){
LPFUNC func = (LPFUNC)GetProcAddress(hins,"SetLayeredWindowAttributes");
if(func){
func(m_hWnd, m_clrMask, 100, 1);
}
FreeLibrary(hins);
}

其中,有两个地方用了COLERREF的, 注意定义一下.

你指的是什么窗口里面,说详细点。