MFC应用实例:[17]半透明对话框

2025-09-26 16:17:52

1、建立一个基于对话框的应用程序,应用程序命名为Test

MFC应用实例:[17]半透明对话框

2、在工作区选择ClassView标签,展开Test classes|CTest,双击OnInitDialog()函数。

MFC应用实例:[17]半透明对话框

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]半透明对话框

4、不做透明化处理的界面运行如下:

MFC应用实例:[17]半透明对话框

5、运行程序如下,窗口的显示为半透明:

MFC应用实例:[17]半透明对话框

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢