vc6,帮助对话框中的确定按钮,没有写响应函数,为何点击后就关闭对话狂呢?
确认按钮的 id  为 IDOK,默认情况下,这个按钮没有响应函数是,点击后就能关闭对话框,
但是我加上响应函数后,我自己的响应函数也能执行。
我不解的是,默认没有响应函数时,为何点击也有反映呢?
程序是如何执行的呢?好像微软将细节隐藏了,我想了解背后的细节,以便理解mfc的思路。
这应该时最基础的了,我不能不知道呀。

解决方案 »

  1.   

    你的这个默认控件的ID 是IDOK,对话框在点确定后返回的也是IDOK
    也就是说,对话框中默认处理了IDOK的消息,你可以重载对话框的PreTranslateMessage函数,看看你点击按钮时发生了什么情况,要想更了解,就只能去看MFC源码了
      

  2.   

    可以重载OnOK()函数,去掉CDialog::OnOK()这句,
    因为对于IDOK按钮,默认不添加响应函数,系统也是这样执行的。
      

  3.   

    如果你细心一些,就会看出Onok其实是一个虚函数,CDialog基类实现了的,你不重载就会用基类版本
      

  4.   

    问题是,整个项目中也没有出现 OnOk()这个函数呀
    我知道是调用了 onok(),但是我想知道,如何调用到的。
    还有,onok()代码如何看到呢?
      

  5.   

    IDOK 响应了CDialog::OnOK()虚函数