当前位置:C++技术网 > 资讯 > 窗口背景颜色和背景图片的设置

窗口背景颜色和背景图片的设置

更新时间:2015-06-23 23:25:30浏览次数:1+次

一、背景颜色的设置
设置窗口背景颜色,这个比较简单。
SetBackgroundColor(RGB(255,0,0));使用这个函数,在窗口显示之前调用即可。里面的参数是COLOEREF类型的,使用RGB宏即可。RGB内分别是红绿蓝。

二、使用项目中的资源设置背景图片。

1.添加资源图片,添加方法,参见网站的《在按钮上设置图片,在按钮上显示图标》这篇文章,这里就不多说。

2.设置图片资源ID。

3.设置背景图片。
    使用函数SetBackgroundImage(IDB_BMP);只需要在参数中传递一个BMP图片的资源ID即可。其他参数都有默认值,不用管。
    如果给资源的ID是:"bitmap"这样的ID,也可以直接传递进去,默认支持这两种方式。如

SetBackgroundImage(bitmap);
SetBackgroundImage(LoadBitmap(AfxGetApp()->m_hInstance,_T("bitmap")));


这个写法是此函数重载的其中一个版本,第一个参数是HBITMAP,因此使用LoadBitmap加载一个位图,返回一个位图句柄。LoadBitmap的用法参考《在按钮上设置图片,在按钮上显示图标》。
    两个版本的区别:前一个版本直接传递资源的ID,ID可以是数值型的,也可以是字符串型的。

三、加载外部位图设置背景图片。

HBITMAP hBackGrd = (HBITMAP)::LoadImage(NULL,_T("res\\bg.bmp"),IMAGE_BITMAP,100,100,LR_LOADFROMFILE);
SetBackgroundImage(hBackGrd);
     使用这两句,可以加载位于res文件夹下的bg.bmp图片设置背景图片第一句加载外部位图,获得一个位图句柄,第二句设置背景图片。LoadImage返回一个HANDLE类型的,而需要的是HBITMAP,是一个具体的句柄类型,因此,需要强制转换一下。第一个参数是实例句柄,因为是从外部加载,因此传递NULL即可。第二个参数是图片的文件路径,可以是相对的也可以是绝对的。第三个是位图的类型,可以是IMAGE_ICON、IMAGE_CURSOR、IMAGE_BITMAP的一种,因为这里是加载位图,因此是IMAGE_BITMAP。如果要设置图标,则选择IMAGE_ICON从外部ico文件加载图标,光标则是IMAGE_CURSOR。第四个和第五个是图片的宽和高。最后一个参数,LR_LOADFROMFILE表示从文件加载。
    这样就可以实现外部BMP图片的加载设置背景。程序运行前,可以替换外部的图片,启动即可看到效果。