MFC应用实例:[17]半透明对话框
1、建立一个基于对话框的应用程序,应用程序命名为Test
![MFC应用实例:[17]半透明对话框](https://exp-picture.cdn.bcebos.com/2083a5d6e1d06de865466f96ca93cee8b104acbf.jpg)
2、在工作区选择ClassView标签,展开Test classes|CTest,双击OnInitDialog()函数。
![MFC应用实例:[17]半透明对话框](https://exp-picture.cdn.bcebos.com/8974c38a59de4507a029d1c35e413a8ca70885bf.jpg)
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);
}
![MFC应用实例:[17]半透明对话框](https://exp-picture.cdn.bcebos.com/87645f93cee8b004503338bc79260d9a300ea9bf.jpg)
4、不做透明化处理的界面运行如下:
![MFC应用实例:[17]半透明对话框](https://exp-picture.cdn.bcebos.com/3931cb413a8ca60888277d4fdb8c9bcec6f8febf.jpg)
5、运行程序如下,窗口的显示为半透明:
![MFC应用实例:[17]半透明对话框](https://exp-picture.cdn.bcebos.com/0cdb2f0e1799e92ab190abf3e1fec314f0c5a0bf.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:50
阅读量:88
阅读量:29
阅读量:34
阅读量:70