设置视图区的坐标原点
xzybw 2005-07-25 10:55:50 各位前辈:请帮忙(急!!!)
我正在用VC做一个数控加工代码的编译器,需要在视图区将数控代码刀具轨迹显示出来。现在我设置下面两个函数试图完成坐标的设置,并希望将坐标设置在视图的中心:
void CEmulateView::MyPrepareDC(CDC *pDC, CPrintInfo *pInfo)
{
OnPrepareDC(pDC, pInfo);
//Set the Orgnization of the window
CSize size;
size=GetTotalSize();
pDC->SetWindowOrg(-size.cx/2, size.cy/2);
}
void CEmulateView::OnInitialUpdate()
{
CView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
CSkDoc* pDoc = GetDocument();
//Set the Initial scroll size
SetScrollSizes(MM_HIMETRIC,CSize(1280, 1024));
并在调用OnDraw()函数来显示,
void CEmulateView::OnDraw(CDC* pDC)
{
CSkDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code here
CPen penRed(PS_SOLID,2,RGB(255 , 0 , 255 ));
CPen *pOldPen=NULL;
pOldPen=pDC->SelectObject(&penRed);
pDC->SelectStockObject(NULL_BRUSH);
pDC->SelectStockObject(NULL_BRUSH);
//绘制坐标轴
pDC->MoveTo(10,350);
pDC->LineTo(600,350);
pDC->LineTo(580,340);
pDC->MoveTo(600,350);
pDC->LineTo(580,360);
pDC->MoveTo(10,350);
pDC->LineTo(10,620);
pDC->LineTo(0,610);
pDC->MoveTo(10,620);
pDC->LineTo(20,610);
}
可是,坐标没有达到预期的目的。为什么?
恳请各位前辈指教。谢谢先!