1.设计思路:
(1)声明客户区矩形
(2)获得客户区坐标
(3)设置映射模式
(4)画出X轴、Y轴
注意:
映射模式选用的是MM_LOMETRIC,其对应的坐标系特征是:每个逻辑坐标被转换为0.1 mm。正x向右,正y向上。
2.代码
(1)声明客户区矩形并设置映射模式
void CCoordinateSystemView::OnDraw(CDC* pDC)
{
CCoordinateSystemDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CRect rect;//声明客户区矩形
GetClientRect(&rect);//获得客户区坐标 int height=(int)rect.Height()*2.5;
int width=(int)rect.Width()*2.5;
int i;
pDC->SetMapMode(MM_LOMETRIC); //设置映射模式为:MM_LOMETRIC,即每个逻辑坐标被转换为0.1 mm。正x向右,正y向上。
pDC->SetWindowExt(width,height); //设置窗口
pDC->SetViewportExt(width,-height); //x轴水平向右,y轴垂直向上
//pDC->SetViewportOrg(width/2,height/2); //客户区中心为坐标系原点
(2)画X轴和Y轴
//画X轴
pDC->MoveTo(0,-height/2);
pDC->LineTo(width,-height/2);
//画Y轴
pDC->MoveTo(width/2,0);
pDC->LineTo(width/2,-height);