对话框背景图片:为对话框添加背景图片LoadBitmap



有关为对话框添加背景图片LoadBitmap问题:

首先要为对话框添加消息映射主要是:

BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)

ON_WM_ERASEBKGND//背景图片

END_MESSAGE_MAP

然后在相关代码区域添加代码:

//设置TOOLDLG背景色,添加背景图片[lei]

BOOL CToolDlg::OnEraseBkgnd(CDC* pDC)

{

/*****************************************************

要设置背景图片必须去掉背景色否则图片会被背景色覆盖

*****************************************************/



/*

//[lei]不使用背景图片时启用否则失效START

//背景色

BOOL retValue= CDialog::OnEraseBkgnd(pDC);

CRect rc;

GetClientRect(&rc);

pDC->FillSolidRect(&rc,RGB(m_ToolRedVal,m_ToolGreenVal,m_ToolBlueVal));

retValue;

//[lei]不使用背景图片时启用否则失效END

*/



//背景图片

//获得客户区尺寸

CRect rect;

GetClientRect(&rect);

//加载背景位图

CBitmap bitmap;

bitmap.LoadBitmap(IDB_BITMAP_TOP_BG); //图片ID

//创建内存DC

CDC dc;

dc.CreateCompatibleDC(pDC);

//选择位图

CBitmap* pOldBitmap=dc.SelectObject(&bitmap);

//绘制位图

pDC->BitBlt(0,0,rect.Width,rect.Height,&dc,0,0,SRCCOPY);

//恢复原有位图

dc.SelectObject(pOldBitmap);

TRUE;

}

Tags:  图片添加背景 vcloadbitmap loadbitmap 对话框背景图片

延伸阅读

最新评论

发表评论