我需要做一个类似dos命令窗口的东西,我使用的是编辑控件,在每条命令输入结束后,回显示命令结果.但是现在我的程序除了这个命令窗口有很多窗口在工作.我想在每次结果显示后都能获取输入焦点(不这样的话,因为命令执行过程中会刷新其他窗口,这样其他窗口会获得输入输入焦点), 所以我先用SetFocus,但是不行,我后来又改用另一种办法给该窗口发送一条鼠标左键单击消息,这样我的命令窗口处理头两条的时候还能获取输入焦点,但是几条之后就成这样了:还能继续输入输入但是,光标不在提示符号出现了,也就是整个程序中看不出光标闪动了.但是我敲键盘的时候,字符会输入到我的命令窗口中去.我的问题是有没有办法让光标在命令窗口的提示符后闪动?

解决方案 »

  1.   

    SetActiveWindow();行不行?先 SetForegroundWindow 再 SetWindowPos(...HWND_TOPMOST...);行不行?
      

  2.   

    回答2楼的:
    SetActiveWindow();我回去试试.
     SetForegroundWindow 再 SetWindowPos(...HWND_TOPMOST...);是肯定不行的.因为我的编辑控件是嵌在一个FrameWnd里边的.
    回答3楼的:'
    鼠标消息设置了位置.
    开始两次还好使,后来也能输入,但是看不到光标闪动.
      

  3.   

    你让他指定传回那个窗口.再SetFocus()
      

  4.   

    SetActiveWindow();我也试过了.
    PASCAL SetCaretPos( POINT point );我也试过了,我都崩溃了.