领导叫我把一个中文软件增加一套英文方案,就是可以自由选择语言,源代码有了,现在怎么改比较好呢,界面按钮之类都好办,SetWindowText就行了,但内部函数中的语言怎么弄比较好,
例如:
void CFGA_UphostDlg::OnZero() 
{...
str="\r\n正在调零,等待20s.......";
UpdateData(FALSE);
...
}

解决方案 »

  1.   

    我的意见,先定义一个BOOL变量,true时是中文,false时是英文,用一个按钮或是别的事件来控制这个变量(比如按钮).代码可以这样写:
    BOOL m_language=TRUE;
    void CFGA_UphostDlg::OnZero() 
    {... 
    if(m_language){
    str="\r\n正在调零,等待20s......."; 
    UpdateData(FALSE);
    }
    else {
    str="\r\nEnglish,waitting20s......."; 
    UpdateData(FALSE);
    }... 
    }
    在界面上增加一个按钮"中/英文切换",为这个按钮添加消息函数来控制m_language的值.
    你试试看
      

  2.   

    一劳永逸的办法是把所有用到的地方使用资源代替,最后把资源单独编译到一个dll,根据需要加载不同的dll.
      

  3.   

    1把这些提取出来放到资源文件里,然后loadstring
    2把这些提取出来放到配置文件里,程序启动的时候加载进去,flashget就是这么实现的
      

  4.   

    把资源编译成一个DLL,切换时加载不动的DLL
      

  5.   

    打错了^_^
    把资源编译成一个DLL,切换时加载不同的DLL