我想在界面上的绘图控件中画一个饼状图,首先用GetClientRect将当前绘图控件坐标保存在了一个CRect中。再将该矩形的左上角和右下角点传给point1,point2。再用Pie(rect,point1,point2)画出。但是此时CRect保存的点左和顶端都是0,好像是当前窗口的坐标。所以画出的图形不在绘图控件中中显示,而是在运行程序时整个DIALOG的左上角显示。怎样才能使图形在绘图控件中中显示呢?     请各位牛人指教,谢谢啦

解决方案 »

  1.   

    用GetWindowRect获得控件矩形,然后调对话框的ScreenToClient函数可以得到控件在对话框内的相对坐标。
    不过要在控件中绘图应该在控件类中响应WM_PAINT消息来绘制。
      

  2.   

    先用控件的指针调用 ClientToScreen();
    再用界面的指针调用ScreenToClient();这样坐标应该就转换为界面的了,画就好
      

  3.   

    太感谢拉!OK了,可是为什么这样就可以了呢,我不太懂,能解释一下吗?非常感谢
          “先用控件的指针调用 ClientToScreen(); 
           再用界面的指针调用ScreenToClient(); 
            这样坐标应该就转换为界面的了,画就好”