CDialog的OnOK虚函数控制了OK按钮,它负责触发数据交换以及从对话框中退出,然而,Enter键碰巧也具有同样的效果。也许这是我们所需要的,也可能我们不需要这一功能,就是说不希望用户在编辑框中按Enter键后出现关闭程序的情况。怎么解决这一问题?
一、原因
当用户按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,当获得焦点的按钮的四周将被点线矩形包围。如果所有按钮都没有获得输入焦点,Windows就会自动去寻找程序或资源所指定的默认按钮(默认按钮边框较粗)。如果对话框没有默认按钮,那么即使对话框中没有OK按钮,OnOK函数也会自动被调用。
二、解决办法
首先建立一个基于对话框的程序。
1.直接把要接受默认OnOK的按钮设置成Default。。这样按回车的时候将自动触发这按钮事件。
2.添加虚函数OnOK(),然后在里面进行自己的处理或调用验证函数等。
一、原因
当用户按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,当获得焦点的按钮的四周将被点线矩形包围。如果所有按钮都没有获得输入焦点,Windows就会自动去寻找程序或资源所指定的默认按钮(默认按钮边框较粗)。如果对话框没有默认按钮,那么即使对话框中没有OK按钮,OnOK函数也会自动被调用。
二、解决办法
首先建立一个基于对话框的程序。
1.直接把要接受默认OnOK的按钮设置成Default。。这样按回车的时候将自动触发这按钮事件。
2.添加虚函数OnOK(),然后在里面进行自己的处理或调用验证函数等。