我创建了一个无模态对话框,发现一按回车键对话框便销毁了.到底是怎么回事呢?怎么解决这个问题?

解决方案 »

  1.   

    VC创建的对话框,处理了默认的回车事件,你可以重载对话框的OnOk事件,里面直接返回应该就可以实现了
      

  2.   

    应该就是这样的,对话框应该有一个默认的按钮,ID应该是IDOK,修改它的ID,并且加一个消息处理函数就行了.
      

  3.   

    对啊,你也可以把系统自己创建的IDOK按钮的CDilog::Onok();屏蔽掉就可以啦,然后在里边写上你需要他实现的动作就可以啦~~
      

  4.   

    或者把那个ok的button的id改掉,默认是IDOK
      

  5.   

    销毁不至于吧,你只是在OnOK中不要调用CDialog::OnOK就好了,
    在CDialog::OnOK中其实是不会销毁对话框的,他只是结束了
    模态消息循环还有一些挂钩,这些消息循环和挂钩都是在
    DoModal()时候干的,非模态的没必要调用CDialog::OnOK,
    调用了反倒会dump的,你到时只是不用的时候调用一下
    CDialog::DestoryWindow就好了
      

  6.   

    无模式销毁:CDialog::DestoryWindow
      

  7.   

    thanks!!!!
    但这么多回复,不知分怎么给.
    就给yyhappy(yiyun)吧,因为他提到要加个消息处理函数
      

  8.   

    写错了,应该是给wltg2001(红猪)