为什么把OK键删没有OnOk函数了一按回车对话框还是没了

z752964360 2008-09-27 07:28:41
还有如何修改 “缺省按键”

在样式里改了“缺省按钮”
不管用 还是 OK 或CANCEL
...全文
174 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
z752964360 2008-09-27
  • 打赏
  • 举报
回复
我终于明白了 default button
是TAB顺序定的样式里面的“缺省按钮”
不管用

结贴
wltg2001 2008-09-27
  • 打赏
  • 举报
回复
即使没有OK按钮,按回车还是会调用OnOk(),同样,按ESC会调用OnCancel()。一个标准的处理方法是,先不要删除OK按钮,而是双击OK按钮,这时,会产生OnOk的函数体,在这个函数中将CDialog::OnOK()这一句删除掉,然后将OK按钮的ID由IDOK修改一下,再双击按钮,产生另外的函数体,在这个函数体中写真正的代码
z752964360 2008-09-27
  • 打赏
  • 举报
回复
多谢大家ONOK的问题解决了


现在就是改不了default button
z752964360 2008-09-27
  • 打赏
  • 举报
回复
default button设置了可是程序运行的时候黑框还是在CANCEL上(把OK删除了)
vc_xiaocainiao 2008-09-27
  • 打赏
  • 举报
回复
删除default下onok()与oncancel
OnOK()
{
//CDialog::OnOK();
}

OnCancel()
{
//CDialog::OnCancel();
}
zhkefa 2008-09-27
  • 打赏
  • 举报
回复
重载OnOk函数,,
greatws 2008-09-27
  • 打赏
  • 举报
回复
设定一个default button就行了
吹泡泡的小猫 2008-09-27
  • 打赏
  • 举报
回复
因为还有基类的OnOK,最好的办法是自己处理OnOK,留个空函数就行了
cnzdgs 2008-09-27
  • 打赏
  • 举报
回复
在没有默认按钮的情况下,对话框会调用OnOK函数来响应Enter键,你把OnOK函数重载一下,不调用基类函数就可以了。
另外Esc键也是一样,默认用OnCancel响应。
互联网老司机 2008-09-27
  • 打赏
  • 举报
回复
处理一下回车键就可以实现你的功能了啊
lizhigang34 2008-09-27
  • 打赏
  • 举报
回复
语文不太好,不明白楼主的意思..
tianhuo_soft 2008-09-27
  • 打赏
  • 举报
回复
注释 代码
rollrock1987 2008-09-27
  • 打赏
  • 举报
回复
OK 或CANCEL 都可以关闭对话框的 知道的吧??

你把原来的 OK删除了 CANCEL按钮还在的吧?

你的对话框程序有一个默认的 按钮的 也就是 default button 既然只有一个 CANCEL 按钮了 那默认情况下这个就是 default button 所以你回车按下去之后 对话框就关闭了

default button 可以在属性里面设定的 你选中你需要设置的 button 在属性里面可以设置
ttnewday 2008-09-27
  • 打赏
  • 举报
回复
把按钮id改为别的字符。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧