现在的位置: 首页 > 综合 > 正文

设置VC对话框背景图

2013年09月01日 ⁄ 综合 ⁄ 共 701字 ⁄ 字号 评论关闭

设置VC对话框背景图

  VC对话框默认的灰度背景实在是不美观,填充背景图成了改善用户界面的一个很好的选择。

  首先在资源视图中添加一个位图资源,如命名为IDB_BMPBK。

  在对话框中添加OnEraseBkgnd()事件处理函数,用于擦除背景进行重绘。其中添加的代码如下:

BOOL DialogClass::OnEraseBkgnd(CDC* pDC)
{

//创建内存DC
CDC MemDC;

//CBitmap对象
CBitmap Bitmap,*pOldBitmap;

//BITMAP句柄
BITMAP bm;

//加载位图
Bitmap.LoadBitmap(IDB_BMPBK);

//将位图资源与句柄绑定
Bitmap.GetObject(sizeof(BITMAP),&bm);

//创建与内存兼容的DC
MemDC.CreateCompatibleDC(pDC);

//替换原位图
pOldBitmap=(CBitmap*)(MemDC.SelectObject(&Bitmap));

//获取绘制的区域
CRect rcClient;
GetClientRect(&rcClient);

//绘制到客户区
pDC->BitBlt(0,0,rcClient.Width(),rcClient.Height(),&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBitmap);
MemDC.DeleteDC();

return TRUE;

}

默认生成的OnEraseBkgnd()处理函数会有调用基类的处理函数然后再返回结果,要注意把这一句直接删除,然后直接返

TRUE。

【上篇】
【下篇】

抱歉!评论已关闭.