[size=13px]请问高手,在OnPaint里,在使用moveto lineto 函数时,如何使长度一样,
我发了一贴,还没人解决,所以直奔主题了,请高手留下脚印····给个例子吧
灌水或者和主题无关的请手下留情了![/size]  
dc.MoveTo(50,10); 
dc.LineTo(50,210); dc.MoveTo(347,80); 
dc.LineTo(547,80); 
长度不一样呐···

解决方案 »

  1.   

    试试使用 LineTo 画一个正方形,然后与 Rectangle 画的正方形对比一下。dc.MoveTo(50, 10); 
    dc.LineTo(50, 210); 
    dc.LineTo(250, 210);
    dc.LineTo(250, 10);
    dc.LineTo(50, 10);
    dc.Rectangle(50, 10, 250, 210);
      

  2.   

    pDC->MoveTo(50,50);
    pDC->LineTo(50,250);
    pDC->MoveTo(50,50);
    pDC->LineTo(250,50);
    pDC->FillSolidRect(51,51,200,200,RGB(11,111,111));
    pDC->Ellipse(51,51,251,251);这些画出正方形,圆啊,看起来都正常的呀
    图就贴不上,就不放了
      

  3.   

    把DC的映射模式改一下,SetMapMode(MM_LOMETRIC).默认的MM_TEXT中的点长宽比例不同.因此相同单位的线段不可能长短一样.MM_LOMETRIC与MM_TEXT所使用的坐标系不一样,因此所有的逻辑坐标都需要进行换算.这是个麻烦的工作!
      

  4.   

    SetMapMode(MM_LOMETRIC). 什么意思啊