Visual Studio MFC 对话框控件 OnOk() 与 OnBnClickedOk() 的区别 20

VC6中双击对话框MFC程序会自动生成OnOk()不过在VS2010中却是OnBnClickedOk(),但在VS2010的“类向导”中还是可以找到并添加对OnOk()虚... VC6中双击对话框MFC程序会自动生成OnOk()不过在VS2010中却是OnBnClickedOk(),但在VS2010的“类向导”中还是可以找到并添加对OnOk()虚函数的重写。

我想知道二者有什么区别还是完全一样,以及执行顺序先后或者优先级一类的信息。
展开
 我来答
西安yi吊丝
2014-06-29 · TA获得超过4036个赞
知道小有建树答主
回答量:1250
采纳率:0%
帮助的人:910万
展开全部
调用OnOK时会对数据做一个自动更新与验证,而OnCancel仅仅是销毁窗口。
OnCancel()与OnOK();都是CDialog的成员函数。
CDialog::OnOK
说明当用户按OK按钮(ID是IDOK)时调用。覆盖该函数执行OK按钮动作。如果对话框包括自动数据检验和交换,缺省方式是对应用的某些变量进行数据的 检验和更新。如果在非模态对话框中实现OK按钮,必须覆盖OnOK成员函数,并在其中调用DestoryWindow 。不能调用基类成员函数,那将会调用EndDialog,使对话框虽然存在但不可视。
CDialog::OnCancel
说明当用户在模态对话框或非模态对话框内单击Cancel按钮或按ESC键时,窗体调用这个成员函数。覆盖该成员函数,执行Cancel按钮动作,缺省方 式是调用EndDialog来简单中止模态对话框,并使DoModal 返回IDCANCEL。如果在非模态对话框中实现Cancel按钮,必须覆盖OnCancel成员函数,并在其中调用DestoryWindow 。不能调用基类成员函数,那将会调用EndDialog,使对话框虽然存在但不可视。
追问
很感谢,不过我要的是OnOk()跟OnBnClickedOk()的区别
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式