绘制图片放在这基类函数中,OnEraseBkgnd (CDC *pDC)
解决方案 »
- 关于DISPID_ONADDRESSBAR
- 如何将 JPG 文件合并保存在自己的文档中
- 第一次接项目``想问下该收多少钱钱
- 关于重绘控件?
- 怎样才能装上vc6.0呢!我装了n次了,哪位帮帮忙啊?
- 简单问题,#pragma是什么意思,详解??
- 关于一个位图文件读取的问题!!
- 在windows 2000下如何截获用户对文件的copy,delete,paste等操作(万分火急)
- 不好意思:上午回答和没有回答的都进来看看:派生CButton类后,为什么调用基类的函数SetWindowText()就不再生效了?(UP有分)
- 紧急问题:::如何阻止FORMVIEW视图的更新重绘?
- MFC在视频显示区绘制线、矩形时,会被视频数据刷新掉,该怎么解决?
- a debugger has been found please unload it
{
CRect rcClient, rcUpdate;
GetClientRect(&rcClient);
GetUpdateRect(&rcUpdate); BITMAP bm;
CBitmap m_bitmapBack;
m_bitmapBack.LoadBitmap(IDB_LOGIN);
m_bitmapBack.GetBitmap(&bm); //CPaintDC dc( this ); // device context for painting CDC BackDC;
BackDC.CreateCompatibleDC(pDC);
CBitmap *pOldBackBitmap = BackDC.SelectObject(&m_bitmapBack); CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap memBitmap;
memBitmap.CreateCompatibleBitmap(pDC, rcClient.Width(), rcClient.Height());
CBitmap *pOldBitmap = MemDC.SelectObject(&memBitmap); MemDC.StretchBlt(0, 0, rcClient.Width(), rcClient.Height(), &BackDC, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY); pDC->BitBlt(0, 0, rcClient.Width(), rcClient.Height(), &MemDC, 0, 0, SRCCOPY);
MemDC.SelectObject(&pOldBitmap);
MemDC.DeleteDC(); return CDialog::OnEraseBkgnd(pDC);
}
在窗口类中
BOOL CYearlyMonthlyDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default return CDlgBase::OnEraseBkgnd(pDC);
//return true;
}
发现背景变成了黑色 不过调用了Onpaint函数 看到了所画的矩形,请问各位大神这是什么情况?
{
#if 1
CPaintDC dc( this ); // device context for painting
#else
CDlgBase::OnPaint();// 如果调用了 基类, 那么窗口已经有效, 取CPaintDC dc( this ); 将 是无效的, 因为没什么可 Paint 的
CClientDC dc(.this);// 所以必须取 客户区 DC。
#enif