在一个对话框中,创建一个 WS_CHILD 的 非模式对话框子窗口,这个非模式对话框里面的 EDIT 控件不能获得输入焦点?  
用鼠标怎么点 EDIT 都不能获得输入焦点啊?! 怎么办?

解决方案 »

  1.   

    http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/dialogboxes/usingdialogboxes.asp?frame=true#modeless_box
      

  2.   

    不是建立非模态对话框~ 而是非模态对话框上的 EDIT 无效?!
      

  3.   

    “不是建立非模态对话框~ 而是非模态对话框上的 EDIT 无效?!”要无效??那么就调用
    EnableWindow(FALSE)阿比如你的edit控件的控件变量是m_ctrEdit那么m_ctrEdit.EnableWindow(FALSE)
      

  4.   

    TO:handsomerun(毛毛)  不是让它无效~ 而是创建出来的是无效的?!可以查看一下工程:http://www.maopi.cn/vckbase/user/boli/t.rar   (vs2003)
    编译好的EXE:http://www.maopi.cn/vckbase/user/boli/t.exe
      

  5.   

    创建出来的无效??什么意思??在对话框初始话的时候调用m_ctrEdit.EnableWindow(FALSE)
    不就是创建出来的无效的了吗??或者在创建的时候,加入WS_DISABLED   这个属性
      

  6.   

    我详细说说,先建立一个对话框工程A,然后在资源里再新建一个对话框B,在B上面加一个EDIT控件,然后添加 B的类,定义 B为 A的一个子窗口,用非模式对话框 B * pb =new B(this); pb->create(...)创建,style 中有  WS_CHILD | WS_OVERLAPPEDWINDOW 这样的话,子对话框 B 就可以有 标题栏,并且可以在对话框A的客户区内随意移动。但是对话框B上面的 EDIT控件不能获得输入焦点?!!! 具体看一下上面的EXE程序就清楚了!!!
      

  7.   

    http://support.microsoft.com/default.aspx?scid=kb;en-us;230587看下这个吧,没办法解决的。要这样做的话把title bar去掉就可以了