如何将坐标系设置为窗口的左下角

来源:百度知道 编辑:UC知道 时间:2024/05/26 16:26:20
请问当运行程序时候弹出窗口,如何以这个窗口的左下角为坐标系的(0,0)点?好像一般都是左上角为原点,y轴取向下,我想从左下角取向上,应该怎么写? 新手,希望详细点,谢谢!急~~~

给你写了一个小的测试程序,看了它你就该明白了
void CMyDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CClientDC dc(this);
dc.SetMapMode(MM_ANISOTROPIC);//选择映射模式为比例可变
dc.SetWindowExt(1000,1000);
dc.SetViewportExt(1000,-1000);//这两行是设置窗口和视口的比例,这里其他的比例不变,只是把y轴取反
dc.SetViewportOrg(0,300);//设置坐标原点的位置,注意这个函数的参数坐标还是按默认的x轴像右,y轴向下来取得
dc.Ellipse(0,0,50,50);//这时就可以用映射过后的坐标轴了
dc.Ellipse(0,50,50,100);//从两个圆的位置可以知道我们映射成功了,即x轴向右递增,y轴向上递增
}
如果你想让对话框弹出时就映射成这样,可以将这些映射的代码添加到对话框的OnDraw或OnPaint函数中,我测试过了,添加到OnPaint函数可以达到要求,注意添加的地方不对有可能达不到效果,你试试吧

将默认的映像模式MM_TEXT改成其它的映像模式