MFC编程入门之十(对话框:设置对话框控件的Tab顺序)

  前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整。

  上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算。但是还有个遗留的小问题,就是对话框控件的Tab顺序问题。

  运行加法计算器程序,显示对话框后不进行任何操作,直接按回车,可以看到对话框退出了。这是因为“退出”按钮是Tab顺序为1的控件,也就是第一个接受用户输入的控件。但是,按照我们的输入习惯,应该是被加数的编辑框首先接受用户输入,然后是加数编辑框,再接下来是“计算”按钮,最后才是“退出”按钮。

  我们首先来直观的看看各个控件的Tab顺序把。打开"Resource View"视图。然后在资源中找到对话框IDD_ADDITION_DIALOG,双击ID后中间客户区域出现其模板视图。在菜单中选择“格式->Tab键顺序”,或者按快捷键Ctrl+D,对话框模板上就会显示各个控件的Tab顺序数字。如下图:

MFC编程入门之十(对话框:设置对话框控件的Tab顺序)

  上图中每个控件左上角都有一个数字,这就是它的Tab响应顺序。对话框刚打开时输入焦点就在Tab顺序为1的"退出"按钮上,不做任何操作按下Tab键,输入焦点就会转移到Tab顺序为2的“计算”按钮上,再次不做任何操作按下Tab键,输入焦点会转移到Tab顺序为3的“被加数”的静态文本框,但是因为静态文本框不接受任何输入,所以输入焦点会继续转移到Tab顺序为6的被加数编辑框。

  我们认为这个顺序不合理,那怎么修改呢?很简单,从自己认为Tab顺序应该为1的控件开始依次单击,随着单击的完成,各控件的Tab响应顺序也按我们的想法设置好了。

  例如,此例中我们可以依次单击被加数编辑框、加数编辑框、和编辑框、“计算”按钮、“退出”按钮、“被加数”静态文本框、“加数”静态文本框和“和”静态文本框,设置后如下图:

MFC编程入门之十(对话框:设置对话框控件的Tab顺序)

  最后按ESC键,确认设置并退出对话框模板的Tab顺序设置状态。