如题.        
HWND hNote, hEdit;
        hEdit = ::FindWindowEx(hNote,0,"Edit",NULL);
        zf = (str[0] << 8) + str[1];
        ::PostMessage(hEdit,WM_IME_CHAR,zf,0x00000001);
::SetFocus(hEdit);这样倒是可以发送,但发了一会Edit的光标就跑到上面去了,不对了.谁能解决,必有重谢.

解决方案 »

  1.   

    光标可以通过下面的函数来设置(移到最后)!int nlen = 字符串长度;
    m_edit.SetEditSel(nlen,nlen);
      

  2.   

    不会把?::SetFocus(hEdit);不管用?
      

  3.   

    如果你知道文本框的ID,
    直接用下面语句就可以传值了.GetDlgItem(文本框的ID)->SetWindowText(文字);
      

  4.   

    GetDlgItem(IDC_EDIT1)->SetWindowText("aaaaaa");
      

  5.   

    根本就没有这个SetEditSel牙,怎么办?
      

  6.   

    我做了个输入法,所以要的效果是在edit的光标插入字符(包括中文),但在输入到一定长度时,
    edit的光标就跑到最上面去了.
      

  7.   

    sorry,是CComboBox的,我再找找方法!
      

  8.   

    有void SetSel( int nStartChar, int nEndChar, BOOL bNoScroll = FALSE );应该可以实现的!
      

  9.   

    ::SendMessage(hEdit, WM_SETFOCUS, NULL, 0); 试试
      

  10.   

    这样子吧,大家下载我的这个程序看看,为什么会这样?http://damaomi.vicp.net/web2/WdxtIme.rar这是我编的一个输入法程序,要输入汉字到右边的edit中
      

  11.   

    char str[]="ww";
    DWORD zf;
    HWND hNote, hEdit;
    hNote=::FindWindow(NULL,_T("接收"));
            hEdit = ::FindWindowEx(hNote,0,"Edit",NULL);
            zf = (str[0] << 8) + str[1];
            ::PostMessage(hEdit,WM_IME_CHAR,zf,0x00000001);
    ::SetFocus(hEdit);
      

  12.   

    tengfei2005, 多谢你的回答,这样子是可以,但输入到一定的时候,Edit的光标就跑到最上面去了,
    而且再也下不来了.你可以下载我作的那个程序看一下.
    http://damaomi.vicp.net/web2/WdxtIme.rar
      

  13.   

    楼上两位大哥说的应该就可以啊
    GetDlgItem(IDC_EDIT1)->SetWindowText("aaaaaa");