设置对话框控件的Tab顺序

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

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

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

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

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

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

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

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

现在我们再运行程序,可以看到对话框打开后最初的输入焦点在被加数编辑框上,然后我们按Tab键,输入焦点移到加数编辑框上,继续多次按Tab键时,输入焦点会按“和编辑框--‘计算’按钮--‘退出’按钮--被加数编辑框--加数编辑框--和编辑框......”的顺序循环转移。这样就达到了我们的目的。

转载于:https://www.cnblogs.com/wpnan/p/4108888.html

VS2010/MFC设置对话框控件的Tab顺序相关推荐

  1. 实际操作_MFC修改控件的Tab顺序

    打开"Resource View"视图,然后在资源中找到对话框IDD_ADDITION_DIALOG,双击ID后中间客户区域出现其模板视图.在主菜单中选择"Format& ...

  2. java fx消息通知_如何设置对话框控件Java FX / Java 8的图标

    Marco Jakob有一个非常好的教程 @L_301_1@,您可以在其中找到不仅如何使用对话框,还可以找到如何解决您的问题. 对于新的对话框(在JDK8u40早期版本中,或者具有JDK 8u25的o ...

  3. MFC设置对话框背景色及控件颜色

    MFC设置对话框背景色及控件颜色 一.使用背景图片更改对话框背景色 在对话框源文件void CxxDlg::OnPaint()函数中 if (IsIconic()) { (这里省略) } else { ...

  4. MFC对话框控件成员变量编程熟悉 - 开发一个简单天线长度计算器

    新建一个对话框工程:VC6:VC2010类似:版本不同略有些差别: 新建完如下:对话框默认有三个控件,自己添加的: 右击 确定 按钮,建立类向导:进入类向导: Class name下拉选中对话框类:类 ...

  5. MFC如何使控件大小随着对话框大小自动调整

    MFC如何使控件大小随着对话框大小自动调整 2012-04-27 16:24:50|  分类: MFC |  标签: |字号大中小 订阅 对话框的大小变化后,假若对话框上的控件大小不变化,看起来会比较 ...

  6. MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置

    在MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置: CRect  r; pWnd->GetWindowRect(&r); 这样获得的r是控件相对于屏幕的坐标,然后用Scre ...

  7. MFC EnableWindow() 启用和禁用控件(设置个控件或窗口可用/不可用),ShowWindow()使某个控件或窗口(显示/不显示)可见/不可见

    1. EnableWindow() 启用和禁用控件或者窗口(设置个控件或窗口可用或不可用)可以调用CWnd::EnableWindow()函数. BOOL EnableWindow(BOOL bEna ...

  8. MFC combo, radio控件使用

    1. 下拉框combo控件 Data中输入,默认值.还可以在OnInitDialog()增加项目,设置默认值. 新建控件变量m_combo_Num 2. 单选框radio控件 新建一组单选框控件 在第 ...

  9. VC2012下MFC程序各控件的常用方法

    一下控件的用法全部在VC2012下调试通过,特发文收藏(部分内容来自或参考自网络): Static Text: 将ID号改成唯一的一个,如:IDC_XX,然后进一次类向导点确定产生这个ID,之后更改C ...

  10. MFC工具箱各种控件的具体意义

    忘记在哪看到的了, 控件工具箱:  2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon) 3 静态文本(Static Text):用来在指定的位置显示特定的字符串,一般用来 ...

最新文章

  1. [备忘]使用wcf联合服务
  2. linux7有相当于wget的,centos7安装mwget下载资源,提升下载速度
  3. php selected,php-多个选择字段-多次使用selected =“ selected”
  4. Spring AOP注解方式实现
  5. [react] 在React中如何引入图片?哪种方式更好?
  6. qlabel可以选中吗_惊现凡尔赛式排版!原来微信公众号排版样式还可以“变装”?...
  7. NLP判断语言情绪_网易严选nlp预训练语言模型的应用
  8. 计算机视觉工作项目方案设计,机器视觉(项目方案设计案例)47.pdf
  9. 华为延期,三星下架,讲讲折叠屏为什么这么难
  10. pytorch minist
  11. 计算机二级12套excel操作题答案,计算机二级MSOffice操作题及答案
  12. 主流反外挂技术的优缺点比较
  13. SQL Server 2005“错误1706。安装程序找不到需要的文件。请检查……”的处理办法
  14. angular 子父页面传值以及调用方法
  15. 如何升级iOS 16正式版?iOS 16正式版一键刷机教程
  16. 信息系统项目管理师考点之上午理论知识点总结
  17. 阿里云ECS-Centos7.9集群部署Redis服务遭木马攻击
  18. 【Python打卡2019】20190406之货币兑换
  19. 斐讯dns服务器未响应,斐讯k2无线网络初始密码是?
  20. 骞云科技SmartCMP v3.0正式发布!

热门文章

  1. JS输出内容为[object Object]
  2. Scrcpy - 开源免费在电脑显示手机画面并控制手机的工具 (投屏/录屏/免Root)
  3. CSS3 blur滤镜实现
  4. SqlServer递归查询树形结果数据
  5. QA: c# IHttpFactory配置代理或者HttpClient配置代理
  6. linux系统多大分区,linux系统中fdisk最大能认到多大分区
  7. python窗口大小动态变化_python – 如何让tkinter画布动态调整窗口宽度?
  8. 求两个集合是否有交集 c语言_高中数学:集合与函数概念知识点汇总
  9. springboot自定义异常(全局捕获)
  10. 添加类别html页面,WordPress分类/标签/页面的url链接添加html后缀