VC对话框设置背景位图三种方法

方法一:载入位图
   先在资源中导入一幅位图,在对话框中添加一个picture控件,右击选择属性在类型中选择bitmap,再选择你导入的位图的ID号就行了,前提是你的位图尺穿足够大.可以填满你的对话框
方法二:
  重载OnEraseBkgnd()--WM_ERASEBKGND(INFO-WINDOW中设置)
BOOL CBkcolor2Dlg::OnEraseBkgnd(CDC* pDC) 
{
// TODO: Add your message handler code here and/or call default
CRect rect;
   GetClientRect(&rect);


   CBitmap m_pBmp;


    BITMAP bm;


    CDC dcMem;


     m_pBmp.LoadBitmap(IDB_BITMAP2);


     m_pBmp.GetBitmap(&bm);//得到位图尺寸


    dcMem.CreateCompatibleDC(pDC);


    CBitmap* pOldBitmap = dcMem.SelectObject(&m_pBmp);


    pDC->SetStretchBltMode(COLORONCOLOR);//这个模式不设置的话会导致图片严重失真


    pDC->StretchBlt(0,0,rect.Width() ,rect.Height(),


    &dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);


    dcMem.SelectObject(pOldBitmap);
return TRUE;
}
方法三:
头文件定义CBrush  brush; 
   OnInitDialog函数中: 
CBitmap  bmp; 
bmp.LoadBitmap(IDB_BITMAP2); 
brush.CreatePatternBrush(&bmp); 


OnPaint或OnDraw函数中: 
CPaintDC   dc(this); 
CRect   rect; 
GetClientRect(&rect); 
dc.FillRect(&rect,&brush); 


BOOL   CColorBkgndDlg::OnEraseBkgnd(CDC*   pDC)   

return   TRUE;
// return  CDialog::OnEraseBkgnd(pDC); 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值