把CString转换成数字就可以了。
atoi(ox.GetBuffer(0) - 10

解决方案 »

  1.   

    int nox;
    int noy;if ( "x7555" == ox)
    {
     nox = x7555;
    }类似这样处理呢。
      

  2.   

    宏是编译期处理的。。 要建立一个对应表, 可以用std::map , 然后在运行时取值初始化:std::map<CString, int> mpX;
    std::map<CString, int> mpY;mpX.insert( std::pair<CString, int>( "x7555", 78 );
    //.. 其它
    mpY.insert( std::pair<CString, int>( "y7564", 87 );
    //.. 其它取值dc->dc.Pie( (mpX[ox] - 10), (mpX[oy] + 10), (mpX[ox] + 10), (mpX[oy] - 10), (mpX[ox]), (mpX[oy] + 10), (mpX[ox]), (mpX[oy] + 10) ); 
      

  3.   

     大家说的对,我所要解决的问题就是串口数据和绘图坐标的对应问题。这个问题我已经解决了,是把串口接受的数据直接转换成10进制,本身也就没有用到16进制的“A,B,C,D,E,F”,所以转换起来还是很简单的。 
      谢谢大家了