本帖最后由 VisualEleven 于 2012-10-28 12:23:53 编辑

解决方案 »

  1.   

    rect.top=point.y-(dlg.m_rad);
    rect.bottom=point.y+dlg.m_rad;
    rect.right=point.x+dlg.m_rad;
    rect.left=point.x-dlg.m_rad;是这里么的+和-么??问题没说清楚啊
      

  2.   

    恩,就是这里,这个是准备实现画圆的代码,m_rad是要输入的半径,运行后出现的错误是:binary '-' : no global operator defined which takes type 'class CString' (or there is no acceptable conversion),我第一次学习这类软件,一定要帮我。
      

  3.   

    rect.top=point.y-(dlg.m_rad);
    rect.bottom=point.y+dlg.m_rad;
    rect.right=point.x+dlg.m_rad;
    rect.left=point.x-dlg.m_rad;这四句的dlg.m_rad全改成dlg.m_rad.GetBuffer();
      

  4.   

    不行啊,又出问题了,error C2660: 'GetBuffer' : function does not take 0 parameters
      

  5.   

    我想通过正方形来实现画圆,通过对话框dialog来输入半径,哪位大哥有好的想法教教小弟呗,我自己编写的没法实现啊。
      

  6.   

    dlg.m_rad
    这里的m_rad是什么类型的变量?
      

  7.   

    dlg.m_rad.GetBuffer(dlg.m_rad.GetLength());
      

  8.   

    m_rad是我新建的dialog中的一个变量,用来对圆的半径进行设置。
      

  9.   

    你要把m_rad的类型转一下
    因为CRect类没有和CString类的+和-的算符重载
    要转成整形值才能运算
      

  10.   

    m_rad是不是绑定了一个CEdit控件?
    你可以直接把控件设成int型,那样传进来直接就是整形了
      

  11.   

    rect.left=point.x- _ttoi(dlg.m_rad);
    其它的几个也做类似的修改~