关于为对话框添加背景图片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));

    return 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);

    return TRUE;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值