CEditView
CEdit
CCombox
CList // 按字符查找
CListCtrl //按字符查找
还有很多自绘控件,如QQ聊天窗口,VC6.0编辑窗口等这些都可以输入字符,如何判断当前焦点窗口可以输入字符?

解决方案 »

  1.   

    想到一个
    GetFocus获取当前焦点窗口
    IsWindowEnabled判断窗口是否可用
    GetWindowRect获取窗口矩形
    GetCursorPos获取光标位置
    PtInRect判断光标位置是否在窗口矩形里自绘窗口如DirectUI之类的,常规API方法没法操作判断。
      

  2.   


    GetCursorPos获取光标位置
    改为
    GetCaretPos获取插入符位置
      

  3.   

    GetGUIThreadInfo,然后看看结构体里的hwndCaret成员是否有值,这个就是编辑框(至少这是应用通知WINDOWS这个窗口需要输入文字的“编辑框”),还有光标位置,输入法的输入跟随就是用它来实现的
      

  4.   

     试一下stjay和redui二位说的。
    请问:heksn,发个字符然后呢?
    发个字符是不是已经输入了一个字符呢?如过不能随便输入呢?
      

  5.   

    在当前焦点窗口有键盘消息过滤WM_CHAR消息,用isalpha判断。