已经用兼容DC画好图了,但是不能在屏幕上显示
时间:2011-12-01
来源:互联网
C/C++ code
然后:
C/C++ code
调出来没有然和反应,我的思路是用兼容DC画在BITMAP上,然后导入CLIENTDC画,但是BITMAP的大小和CLIENTDC大小不一样。
谢谢大家指点~!
void CTran1_6View::OnShowpadonly() { CClientDC dc(this); if(!m_dcCompatible.m_hDC) { //CRect rect; CTran1_6Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // GetClientRect(&rect); CRect rect=pDoc->PCBBroadSize; m_dcCompatible.CreateCompatibleDC(&dc); CBitmap bitmap; bitmap.CreateCompatibleBitmap(&dc,rect.Width(),rect.Height()); m_dcCompatible.SelectObject(&bitmap); CBrush BrushPad(RGB(0,0,0)); CBrush BrushHole(RGB(255,255,255)); m_dcCompatible.BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY); for(int i=0;i<pDoc->DrawPadArray.GetSize();i++) { CBrush *OldBrush=m_dcCompatible.SelectObject(&BrushPad); CRect PadRect; CRect HoleRect; PadRect=((CDrawPadInfo*)(pDoc->DrawPadArray.GetAt(i)))->PadRect; if(1==((CDrawPadInfo*)(pDoc->DrawPadArray.GetAt(i)))->type) { m_dcCompatible.Ellipse(PadRect); } else { m_dcCompatible.Rectangle(PadRect); } HoleRect=((CDrawPadInfo*)(pDoc->DrawPadArray.GetAt(i)))->HoleRect; OldBrush=m_dcCompatible.SelectObject(&BrushHole); m_dcCompatible.SelectObject(&OldBrush); m_dcCompatible.Ellipse(HoleRect); } //CRect rect2; //GetClientRect(&rect2); //dc.StretchBlt(0,0,rect2.Width(),rect2.Height(),&m_dcCompatible,0,0,rect.Width(),rect.Height(),SRCCOPY); } }
然后:
C/C++ code
void CTran1_6View::OnDraw(CDC* pDC) { CTran1_6Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CRect rect2; GetClientRect(&rect2); CRect rect=pDoc->PCBBroadSize; pDC->StretchBlt(0,0,rect2.Width(),rect2.Height(),&m_dcCompatible,0,0,rect.Width(),rect.Height(),SRCCOPY); }
调出来没有然和反应,我的思路是用兼容DC画在BITMAP上,然后导入CLIENTDC画,但是BITMAP的大小和CLIENTDC大小不一样。
谢谢大家指点~!
作者: darkwhitesnow 发布时间: 2011-12-01
把你绘图相关的代码放到OnDraw函数中去
作者: VisualEleven 发布时间: 2011-12-01
绘图在OnDraw函数里面绘制。。。
作者: shen_wei 发布时间: 2011-12-01
好的~然后还想问为什么我这段东西不行?~调试没错,但是显示不了
作者: darkwhitesnow 发布时间: 2011-12-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28