MFC应用实例:[17]半透明对话框
1、建立一个基于对话框的应用程序,应用程序命名为Test
2、在工作区选择ClassView标签,展开Test classes|CTest,双击OnInitDialog()函数。
3、在OnInitDialog()函数添加以下代码:
//设置半透明对话框
SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibrary("User32.DLL"); //加载库文件
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC func = NULL; //函数指针
//取得SetLayeredWindowAttributes函数指针
func = (MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
//使用SetLayeredWindowAttributes函数设定透明度
if(func)func(this->GetSafeHwnd(), RGB(0, 0, 0), 200, 0x2);
FreeLibrary(hInst);
}
4、不做透明化处理的界面运行如下:
5、运行程序如下,窗口的显示为半透明:
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:50
阅读量:88
阅读量:29
阅读量:34
阅读量:70