: :下面是我在视图区划图程序,文档没有保存程序,划的图形一出视图区(滚动视图)就没了?
void CCMyDrawView::OnInputPoint()
{
// TODO: Add your command handler code here
CPoint P1;
CPoint P2;
int Width;
CMyDrawLine dlg;
CClientDC dc(this);
OnPrepareDC(&dc);
// dc.DPtoLp(&P1);
if(dlg.DoModal()==IDOK)
{
Width=dlg.m_pWidth;
//CPen Pen;
//Pen.CreatePen(PS_SOLID,Width,RGB(0,0,255));
//CPen* pOldPen=pDC->SelectObject(&Pen);
//斜二侧平行投影
P1.x=dlg.m_p1x+0.5*dlg.m_p1z*cos(63.4);
P1.y=dlg.m_p1y+0.5*dlg.m_p1z*sin(63.4);
// P1.z=(int)dlg.m_p1z;
P2.x=dlg.m_p2x+0.5*dlg.m_p2z*cos(63.4);
P2.y=dlg.m_p2y+0.5*dlg.m_p2z*cos(63.4);
// P2.z=(int)dlg.m_p2z;
dc.MoveTo(P1);
dc.LineTo(P2);
P1=P2;//移动到下一个位置
// pDC->SelectObject(pOldPen);
}
}
void CCMyDrawView::OnInputPoint()
{
// TODO: Add your command handler code here
CPoint P1;
CPoint P2;
int Width;
CMyDrawLine dlg;
CClientDC dc(this);
OnPrepareDC(&dc);
// dc.DPtoLp(&P1);
if(dlg.DoModal()==IDOK)
{
Width=dlg.m_pWidth;
//CPen Pen;
//Pen.CreatePen(PS_SOLID,Width,RGB(0,0,255));
//CPen* pOldPen=pDC->SelectObject(&Pen);
//斜二侧平行投影
P1.x=dlg.m_p1x+0.5*dlg.m_p1z*cos(63.4);
P1.y=dlg.m_p1y+0.5*dlg.m_p1z*sin(63.4);
// P1.z=(int)dlg.m_p1z;
P2.x=dlg.m_p2x+0.5*dlg.m_p2z*cos(63.4);
P2.y=dlg.m_p2y+0.5*dlg.m_p2z*cos(63.4);
// P2.z=(int)dlg.m_p2z;
dc.MoveTo(P1);
dc.LineTo(P2);
P1=P2;//移动到下一个位置
// pDC->SelectObject(pOldPen);
}
}
解决方案 »
- MFC没落了吗...?
- 在多文档程序的Mainframe的析构函数中删除子框架链表出错
- (递归建立二叉搜索树时错误)Unhandle exception in FaceR.exe(NTDLL.DLL):0XC0000005:Access Violation
- 怎么样判断键盘按键是一直在被按着
- 基础问题.
- 麻烦答疑下啊,VC如何使用Excel2003?
- 有人真正捕捉到过WM_MOUSELEAVE吗?捕捉过的人请进,没写过代码光会YY人请离开
- 用DAO访问数据库,最简单的方法?
- 在MFC中怎样知道程序运行在哪个阶段,程序的初始点在那里?
- ActiveX problem十万火急
- 使用dll导出类可以用Loadlibrary()的方法调用吗?
- RADIOBUTTON 怎么分组
OnDraw函数是当界面被重画时系统自动调用的,比如当你的程序运行后,你点击了其它的窗口,这样你的程序可能就被别的程序覆盖了,当你再击活你的程序时,系统就会调用OnDraw来重绘你的窗口,而OnDraw在绘制时会调用OnPaint函数