我现在用VS2005写一个MFC应用程序的程序,求怎样给主dlg的背景添一个图片?

渴求步骤详细的本人菜鸟,在这跪谢!... 渴求步骤详细的本人菜鸟,在这跪谢! 展开
 我来答
bhtzu
2013-03-18 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4620万
展开全部
BOOL CDialog::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
CBitmap bitmap;
BITMAP bmp;
CDC dcCompatible;

bitmap.LoadBitmap(IDB_LOGO);
bitmap.GetBitmap(&bmp);
dcCompatible.CreateCompatibleDC(pDC);
CBitmap *pOlBitmap = dcCompatible.SelectObject(&bitmap);
GetWindowRect(&rect);

pDC->SetStretchBltMode(COLORONCOLOR);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,
0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
dcCompatible.SelectObject(pOlBitmap);
DeleteDC(dcCompatible.m_hDC);
return TRUE;
}

重写CtColor然后在函数体加入如下代码
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT);
hbr=(HBRUSH)GetStockObject(NULL_BRUSH);
}
return hbr;
追问
你建的是单文档吧 !为什么我试了不行啊一堆错误,我是菜鸟,能不能给个联系方式,qq、手机号都行!
追答
这怎么是单文档呢。。。就是对话框重载两个函数啊
其实,你网页搜索“对话框背景图片”会有很多示例,如果你只是简单添加,那么弄个和对话框一样大的image控件放在下面都可以。

就这里吧,其它联系不方便,不好意思
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式