如何在对话框背景中添加位图作为背景,其实只要用画刷去刷下背景色。
效果:
这里添加了一张位图作为背景
步骤
1.加载一张位图,创建一个画刷
HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,"kugoubizhi_touming.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
hbrushbitmap=CreatePatternBrush(hbitmap);
2.然后在处理WM_CTLCOLORDLG消息这个消息处理时,必须返回一个画刷,就是创建的位图画刷,也就是用该背景去修改对话框的背景色。
case WM_CTLCOLORDLG:
{
return (BOOL)hbrushbitmap;
}
3.静态控件灰色问题填充了一张位图后,原来的静态控件还有灰色背景,和背景不协调,解决方法就是,将静态控件设置为透明色,并且返回一个空画刷就OK了。对于滑动条的处理还没搞定,继续学习...
case WM_CTLCOLORSTATIC:
{
SetBkMode((HDC)wParam,TRANSPARENT); //设置静态字体为透明
SetTextColor((HDC)wParam,RGB(255,255,255)); //这里设置字体为白色
return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);//必须要返回画刷,这里返回空画刷,即使和背景相同颜色
}