添加背景最好是放在OnEraseBkgnd(CDC* pDC)函数中,在OnPaint中有可能会闪屏。
// CBitmap m_pBmp
// BITMAP bm
// CDC dcMem
// m_pBmp.LoadBitmap(IDB_BITMAP_BG)
// 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)
// dcMem.DeleteDC()
用我这个代码
mfc只能识别bmp的图片,你可以把jpg图片转成bmp格式的注:用windows画图就可以,然后再资源里面添加位图资源,在对话框里放一个位图对话框,设置位图为你的图片,设置属性为透明即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)