现说设置背景颜色。
我用了很多方法都不行,查了很多资料,现在说一下解决方案吧。
在XXXXXXDlg.头文件的protected:中加入CBrush m_brush;
在XXXXXXDlg.cpp文件中的OnInitDialog()初始化函数中加入画刷m_brush.CreateSolidBrush(RGB(255,255,255));RGB中的颜色自己定义。
然后在类向导中添加WM_CTLCOLOR消息函数。在里面只写一句话:return m_brush;
背景颜色就改了。
现在说怎么设计透明了,那就更简单了。
在OnInitDialog()初始化函数中添加两行代码:
SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)|WS_EX_LAYERED);
SetLayeredWindowAttributes(0,200,LWA_ALPHA);第二行中的200为透明度,0为全透明,255为不透明。
来源:oschina
链接:https://my.oschina.net/u/555701/blog/56617