RT
解决方案 »
- 在界面上拖放了第三方已注册过的OCX控件,拖放了以后是否还需要Create初始化?
- 为何有类型转换错误
- 谁知道北京哪里有好的日语培训学校?
- 在线程中可以调用连接点函数吗?
- VC里函数前的“RESULT WINAPI”是什么意思,什么书上有讲?
- 很基础的问题,来捡分吧!
- 如何将一个字符串型的数字与一个整型的数字进行比较?
- 为什么远程注入DLL,并在DLL的InitInstance() 中创建非模式对话框,然后进行消息循环,主线程窗口会没响应?
- 关于automation
- 单选按钮怎么给加变量呀,ClassWizzard里面没有ID呀?
- 求助!!!!只要告诉我哪有程序下载就好了
- 弱弱的问:怎么是程序不会最小化?
pGraphics->SetClip(m_Rect);
pGraphics->Draw();
pGraphics->SetClip(®);
原来的代码:OnPaint里面
Graphics graphics(dc.m_hDC);// dc就那个 CPiantDC dc(this);
graphics.DrawImage(m_pBitmap4Show, 0, 0, 400, 300);//m_pBitmap4Show是Bitmap指针
这时是能正常显示,但移动窗口有闪烁;
改为:
m_dcMem.CreateCompatibleDC(&dc);//声明了一个CDC m_dcMem;
Graphics graphics(m_dcMem.m_hDC);
graphics.DrawImage(m_pBitmap4Show, 0, 0, 400, 300);
dc.BitBlt(0, 0, 400, 300, &m_dcMem, 0, 0, SRCCOPY);
m_dcMem.DeleteDC();
结果就画不出来了,一片白屏。请教怎么回事?如何解决.....
CBitmap memBitmap;//内存位图 m_dcMem.CreateCompatibleDC(&dc);
memBitmap.CreateCompatibleBitmap(&dc, 400, 300);
m_dcMem.SelectObject(&memBitmap); .
.
.
m_dcMem.DeleteDC();
memBitmap.DeleteObject();
CBitmap memBitmap;//内存位图
CBitmap* pOldBmp = NULL;dcMem.CreateCompatibleDC(&dc);// 根据paintDC 建立内存DC
memBitmap.CreateCompatibleBitmap(&dc, 400,300);// 创建画布
pOldBmp = dcMem.SelectObject(&memBitmap); Graphics graphics(dcMem.m_hDC);
graphics.DrawImage(m_pBitmap4Show, 0, 0, 400, 300); dc.BitBlt(0, 0, 400, 300, &m_dcMem, 0, 0, SRCCOPY);
dcMem.DeleteDC();
dcMem.SelectObject(pOldBmp);
memBitmap.DeleteObject();