异形窗体

void CCFLoginDlg::SetWindowAttribute(HWND hWnd/*要处理的窗口句柄*/,COLORREF color/*要透明的颜色*/,int alpha/*其它部分要透明的程度*/)
{
	SetWindowLong(hWnd, GWL_EXSTYLE, 
		GetWindowLong(hWnd,GWL_EXSTYLE)^0x80000);
	HINSTANCE hInst = LoadLibrary(_T("User32.DLL")); 
	if(hInst) 
	{ 
		typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD); 
		MYFUNC func = NULL;						 
		func = (MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
		if(func)func(hWnd,color,alpha,LWA_ALPHA|LWA_COLORKEY); 
		FreeLibrary(hInst); 
	}
}

异形窗体_第1张图片

SetWindowAttribute(this->GetSafeHwnd(),RGB(255,0,255),255);

背景图片为:

异形窗体_第2张图片

你可能感兴趣的:(user,null,byte,winapi)