让对话框透明的方法
MFC中让对话框透明的方法是用
::SetLayeredWindowAttributes(this->GetSafeHwnd(), RGB(128, 128, 128), 255, 3);
函数实现的。
参数1:窗口句柄
参数2:颜色值RGB
参数3:Alpha值,即透明度值
参数4:设置参数--
LWA_COLORKEY(1)表示前面的颜色值起作用
LWA_ALPHA(2)表示前面的Alpha值起作用,即透明度
注意
1。这两个参数可以同时使用,意义为只将对话框上所有颜色为指定为RGB的地方,按照Alpha值来进行透明处理。
2。SetLayeredWindowAttributes函数是用前,需要指定GWL_EXSTYLE属性为0x80000;
下列代码将默认颜色的对话框完全透明。
SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, 0x80000);
::SetLayeredWindowAttributes(this->GetSafeHwnd(), RGB(128, 128, 128), 255, 3);