我想用一个对话框程序,在窗体上接受中文输入,然后显示在窗体上,怎么实现?我重载了OnChar消息,在里面我
m_text+=nChar;
CClientDC dc(this);
dc.TextOut(10,10,m_text);我知道输入一个汉字会响应两次OnChar消息,但是我按一次键盘马上就响应OnChar消息显示出英文字符,根本没法输入中文,这样要怎么办?

解决方案 »

  1.   

    我没出现过这个问题...编译运行之后可以直接切换输入法输入中文...
    MFC本身支持中文输入..不需要自己重载...具体你发上来看一下吧..
      

  2.   

    我知道输入一个汉字会响应两次OnChar消息,
    ====================================
    好像不是的
      

  3.   


    其实我就是想模拟一下编辑框的功能在窗体上接受中文输入在单文档里,只需重载OnChar消息,在里面 
    m_text+=nChar; 
    CClientDC dc(this); 
    dc.TextOut(10,10,m_text); m_text就是输入的中文,但是在基于对话框里怎么办?
      

  4.   

    窗体消息循环响应 IME 输入法消息:WM_IME_CHAR
    chCharCode1 = (char) wParam & 0xff;
    chCharCode2 = (char) wParam >> 8;
      

  5.   

    WM_IME_CHAR 这个消息如何响应?
    如果不用键盘钩子,我始终截获不到这个消息
      

  6.   

    onchar不要实现,用edit会好点了,m_pInputEdit->GetWindowText(strText);