void SettingDlg::OnCalculate() 
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);//TRUE由屏幕更新数据    double e,f1,f2;
double PI=3.1415926;
double  ReplaceSel();

e=sqrt(m_L1*m_L1+m_L4*m_L4-2*m_L1*m_L4*cos(m_Theta1*PI/180));
f1=acos((m_L4*m_L4+e*e-m_L1*m_L1)/(2*m_L4*e));
f2=acos((e*e+m_L3*m_L3-m_L2*m_L2)/(2*m_L3*e)); //各辅助量的求解
double m_Bx,m_By,m_Cx,m_Cy,m_Dx,m_Dy,m_Theta2,m_Theta3,m_Theta1,m_Omega2,m_Omega3;
m_Bx=m_Ax+m_L1*cos(m_Theta1*PI/180);
m_By=m_Ay+m_L1*sin(m_Theta1*PI/180);
m_Dx=m_Ax+m_L4;
m_Dy=m_Ay;
m_Cx=m_Dx-m_L3*cos(f1+f2);
m_Cy=m_Dy+m_L3*sin(f1+f2);//各点的坐标 m_Theta2.ReplaceSel(atan((m_Cy-m_By)/(m_Cx-m_Bx)));     //  θ2
m_Theta3=360-(f1+f2)*360/PI; //θ3 m_Omega2=(-m_L1*sin(m_Theta1-m_Theta3))*m_Omega1/(m_L2*sin(m_Theta2-m_Theta3));//  ω2 
    m_Omega3=(m_L1*sin(m_Theta1-m_Theta2))*m_Omega1/(m_L3*sin(m_Theta3-m_Theta2)); //  ω3 
    
    UpdateData(FALSE);//FALSE由屏幕更新数据

}

解决方案 »

  1.   

    m_Theta2这个是什么?CRichEdit?
    void ReplaceSel(
       LPCTSTR lpszNewText,
       BOOL bCanUndo = FALSE 
    );
    m_Theta2.ReplaceSel(字符串)才对
      

  2.   


    double ReplaceSel(); //这个定义错误e=sqrt(m_L1*m_L1+m_L4*m_L4-2*m_L1*m_L4*cos(m_Theta1*PI/180));
    f1=acos((m_L4*m_L4+e*e-m_L1*m_L1)/(2*m_L4*e));
    f2=acos((e*e+m_L3*m_L3-m_L2*m_L2)/(2*m_L3*e)); //各辅助量的求解
    double m_Bx,m_By,m_Cx,m_Cy,m_Dx,m_Dy,m_Theta2,m_Theta3,m_Theta1,m_Omega2,m_Omega3;
    m_Bx=m_Ax+m_L1*cos(m_Theta1*PI/180);
    m_By=m_Ay+m_L1*sin(m_Theta1*PI/180);
    m_Dx=m_Ax+m_L4;
    m_Dy=m_Ay;
    m_Cx=m_Dx-m_L3*cos(f1+f2);
    m_Cy=m_Dy+m_L3*sin(f1+f2);//各点的坐标m_Theta2.ReplaceSel(atan((m_Cy-m_By)/(m_Cx-m_Bx))); // θ2
    //要保证 m_Theta2 继承自CEdit、CRichEdit
      

  3.   

    你的m_Theta2变量是个什么类型的?