用MFC建了基于对话框的工程,要怎么添加背景图片啊!!! 急求!!!
6个回答
展开全部
先创建图片
方法一创建图片 CBitmap::LoadBitmap(资源名称);
方法二创建图片 CBitmap::LoadBitmap(资源ID);
创画刷 CBrush::CreatePatternBrush( 创建的CBitmap);
重载这个函数
HBRUSH CDailog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CSizeDlg::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
//功能: 设置静态窗口背景为空
HBRUSH hbr = NULL;
switch(nCtlColor)
{
case CTLCOLOR_STATIC: //静态框
break;
case CTLCOLOR_DLG: //对话框
if(NULL == m_clrBkBrush.m_hObject)
hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
else
hbr = m_clrBkBrush;
break;
default:
hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
break;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
方法一创建图片 CBitmap::LoadBitmap(资源名称);
方法二创建图片 CBitmap::LoadBitmap(资源ID);
创画刷 CBrush::CreatePatternBrush( 创建的CBitmap);
重载这个函数
HBRUSH CDailog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CSizeDlg::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
//功能: 设置静态窗口背景为空
HBRUSH hbr = NULL;
switch(nCtlColor)
{
case CTLCOLOR_STATIC: //静态框
break;
case CTLCOLOR_DLG: //对话框
if(NULL == m_clrBkBrush.m_hObject)
hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
else
hbr = m_clrBkBrush;
break;
default:
hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
break;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
2011-09-06
展开全部
加一个图片框,在属性中选择位图,然后选择你的位图图片ID
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我记得可以在对话框插入一个静态文本框,再设置它的属性为静态图片,并选所要的图片资源,当然,图片得自己弄到位图资源里。这样可以在对话框插入一个图片,但做背景我就不知道了。问问高手吧,我也好久没做MFC了^_^
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-06
展开全部
上面直接有picture控件的 你把里面属性指向你要加载的图片位置就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
resources中导入一个Bitmap资源
类中声明一个CBitmap m_bitmap;
构造函数中导入位图资源ID:m_BKbitmap.LoadBitmap(资源ID);
OnPaint()函数中(没有就自己加一个)添加如下代码: BITMAP bm;
CRect rect;
CDC dcMem;
m_BKbitmap.GetBitmap (&bm);
GetClientRect(&rect);
dcMem.CreateCompatibleDC (&dc);
CBitmap *oldbitmap=dcMem.SelectObject (&m_BKbitmap);
dc.BitBlt (0,0,rect.right - rect.left ,rect.bottom -rect.top,&dcMem,0,0,SRCCOPY);
dcMem.SelectObject(oldbitmap);
CDialog::OnPaint();
OK
类中声明一个CBitmap m_bitmap;
构造函数中导入位图资源ID:m_BKbitmap.LoadBitmap(资源ID);
OnPaint()函数中(没有就自己加一个)添加如下代码: BITMAP bm;
CRect rect;
CDC dcMem;
m_BKbitmap.GetBitmap (&bm);
GetClientRect(&rect);
dcMem.CreateCompatibleDC (&dc);
CBitmap *oldbitmap=dcMem.SelectObject (&m_BKbitmap);
dc.BitBlt (0,0,rect.right - rect.left ,rect.bottom -rect.top,&dcMem,0,0,SRCCOPY);
dcMem.SelectObject(oldbitmap);
CDialog::OnPaint();
OK
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询