我要用自己的画笔画东西 具体代码如下,请各位前辈帮忙看看,我是新手,不知写的对不对,谢谢!!
CDC dc;
dc.Attach((HDC)m_HDC);//绑定HDC对象,预备画图
CPen MyPen;
CPen* pOldPen;
dc.SetBkMode(TRANSPARENT);//设置背景颜色为透明 CFont f,*POldFont;
f.CreateFont(11,0,0,0,FW_MEDIUM,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,_T("宋体"));
POldFont=dc.SelectObject(&f);
MyPen.CreatePen(PS_SOLID,0,RGB(0,0,255));//选择画笔的颜色
pOldPen = dc.SelectObject(&MyPen);
dc.SetTextColor(RGB(0,0,255));
.
.
. 画图过程略。
.
.
.
dc.SelectObject(POldFont);
dc.SelectObject(pOldPen);
dc.Detach();
CDC dc;
dc.Attach((HDC)m_HDC);//绑定HDC对象,预备画图
CPen MyPen;
CPen* pOldPen;
dc.SetBkMode(TRANSPARENT);//设置背景颜色为透明 CFont f,*POldFont;
f.CreateFont(11,0,0,0,FW_MEDIUM,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,_T("宋体"));
POldFont=dc.SelectObject(&f);
MyPen.CreatePen(PS_SOLID,0,RGB(0,0,255));//选择画笔的颜色
pOldPen = dc.SelectObject(&MyPen);
dc.SetTextColor(RGB(0,0,255));
.
.
. 画图过程略。
.
.
.
dc.SelectObject(POldFont);
dc.SelectObject(pOldPen);
dc.Detach();
MyPen.DeleteObject();
pOldPen->DeleteObject();
f->DeleteObject();
POldFont->DeleteObject();
dc.Detach(); 测试时,系统偶尔会弹出对话框,内容是: 对不起,系统在绘制某种图形时出错......
不知是为什么???
。画完图后
MyPen.DeleteObject();
pOldPen->DeleteObject();
f->DeleteObject();
POldFont->DeleteObject();
dc.Detach(); 测试时,系统偶尔会弹出对话框,内容是: 对不起,系统在绘制过程中出现了某种错误,您最好关闭
重新启动本软件。。
如果按我写的这样,删除了POldFont、pOldPen对象,那会出现上面的对话框错误么???