1、建立一个基于对话框的应用程序,应用程序命名为Test
2、在工作区选择ClassView标签,展开Test classes|CTest,双击蚪嬷吃败OnInitDialog()函数。
3、在OnInitDialog()函数添加以下代码://设置半透明对话框 SetWin蟠校盯昂dowLong(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、运行程序如下,窗口的显示为半透明: