怎样在对话框中加背景图?? 在ResouceView中插入你的背景图*.bmp;比如:IDB_BACKGRID在对话框中画一个CPicture控件,右键General右面 类型中选Bitmap,类型下面图像选上你的 IDB_BACKGRID 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 映射WM_CTLCOLOR消息,再对应的函数中加入背景 在你的对话中加入一个CBitmap成员m_Bitmap,并重载OnEraseBkgnd()bool CDlg::SetBkBmp(int nBmpId){ if(!m_Bitmap.LoadBitmap(nBmpId)) return false; return true;}BOOL CDlg::OnEraseBkgnd (CDC* pDC){ if(m_Bitmap.GetObjectType()) { CDC dc; BITMAP Bmp; m_Bitmap.GetBitmap(&Bmp); if(!dc.CreateCompatibleDC(pDC)) return CDialog::OnEraseBkgnd(pDC); CBitmap *pOldBmp=dc.SelectObject(&m_Bitmap); CRect rect; GetWindowRect(&rect); int sizex=rect.right-rect.left,sizey=rect.bottom-rect.top; int bmpx=Bmp.bmWidth,bmpy=Bmp.bmHeight; for(int x=0;x<=sizex;x+=bmpx) for(int y=0;y<=sizey;y+=bmpy) pDC->BitBlt(x,y,bmpx,bmpy,&dc,0,0,SRCCOPY); dc.SelectObject(pOldBmp); return true; } else return CDialog::OnEraseBkgnd(pDC);} No.it's formal method. the only thing hover(翔) ( ) do is not so goodis:should use a memory cache dc to accelerate speed . MFC中 记录集 无法打开 WinMain自己的参数出了奇怪的问题 删除默认边框 关于16位BMP图片的显示问题 如何做一个图像控件? 怎样进行数字签名? 毕业一年一直在用C最近牛刀小试做了个功能颇全面的鼠标点击器给大家献丑了 基于对话框的程序,消息循环如何进行??? 关于CMessageDlg dlg(this)出错的一个小问题,谢谢各位大神! 抓住hwnd 用MFC编写一个简单的显示当前时间的小程序? 有个问题
bool CDlg::SetBkBmp(int nBmpId)
{
if(!m_Bitmap.LoadBitmap(nBmpId))
return false;
return true;}BOOL CDlg::OnEraseBkgnd (CDC* pDC)
{
if(m_Bitmap.GetObjectType())
{
CDC dc;
BITMAP Bmp;
m_Bitmap.GetBitmap(&Bmp);
if(!dc.CreateCompatibleDC(pDC))
return CDialog::OnEraseBkgnd(pDC);
CBitmap *pOldBmp=dc.SelectObject(&m_Bitmap);
CRect rect;
GetWindowRect(&rect);
int sizex=rect.right-rect.left,sizey=rect.bottom-rect.top;
int bmpx=Bmp.bmWidth,bmpy=Bmp.bmHeight;
for(int x=0;x<=sizex;x+=bmpx)
for(int y=0;y<=sizey;y+=bmpy)
pDC->BitBlt(x,y,bmpx,bmpy,&dc,0,0,SRCCOPY);
dc.SelectObject(pOldBmp); return true;
}
else
return CDialog::OnEraseBkgnd(pDC);}
is:should use a memory cache dc to accelerate speed .