MFC中控件的TAB顺序

本文来自: http://hi.baidu.com/qingcaichongch/item/47f7ae14de8cbef6ddeeca42

在MFC中添加控件后,按Ctrl+d可以改变控件TAB顺序,怕自己忘了,一个神奇的东西,记下。

关于改变Tab顺序的方法有以下几种:

方法一: 在动态创建控件的时候STYLE设置成为WS_CHILD|WS_VISIBLE|WS_TABSTOP,其中WS_TABSTOP是影响TAB顺序的。

先创建的控件TAB顺序在前。如果要颠倒TAB顺序的话,就把在创建控件时把WS_TABSTOP去掉,并增加对“TAB键被按下”事件的捕捉,人工使用SETFOCUS来控制TAB顺序。   方法二:

在VC中,首先控件没有TABINDEX属性,有 TABSTOP 属性;

其次,如果你发现这可能是由resource.h中控件的ID值引起的。那么你就错了: 因为无论你如何调整resource.h中控件的ID值,都对TAB键的切换顺序不能发生任 何影响;

那么,VC中的控件顺序是由什么决定的呢?该如何来修改呢? 在你的工程文件和工作区文件所在目录下有一同名的资源文件(*.rc),其中包含了 本工程所有使用到的资源。在VC集成开发环境中,该资源是以树状和可视的状态出现的。

现在用任意文本编辑器(最好就是记事本notepad.exe)将该资源文件打开; 找到DIALOG字段,在BEGIN...END语句之中就是对话框中所有的控件定义与属性描述; 假定你将其中先后出现的控件顺序改变一下; 然后保存该文件; 然后用VC打开,重新生成执行文件执行一下: ----怎么样?!!控件间的切换顺序已经改变了!!!

原来,VC中控件的TAB切换顺序即是资源文件中上述BEGIN...END间先后出现的顺序---- 改变其中的控件出现顺序(在文本编辑器中)便可改变控件间的TAB切换顺序。

方法三:

在编辑界面按下ctrl+D键,就会出现所有控件的Tab键顺序,按照自己想要的顺序依次点击控件的数字标识,就可以重新安排控件的TAB键顺序。

时间: 2024-10-10 10:57:12

MFC中控件的TAB顺序的相关文章

在MFC中改变控件的TAB顺序

在MFC界面中,控件的TAB顺序如果乱了,不合理,可能会使界面出现意料之外的显示. 例如,在用Spin Control来对Edit Control内的值进行增减时,如果Edit Control.Spin Control及其它控件的TAB顺序不对,则可能使控件文本的显示不正确. Spin Control 的属性 Auto Buddy,与控件的TAB顺序有关.需确保Edit Control的TAB顺序比Spin Control的TAB顺序小一个值. 进入资源视图,打开对话框界面,用快捷键ctrl +

VS2010/MFC设置对话框控件的Tab顺序

设置对话框控件的Tab顺序 前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算.但是还有个遗留的小问题,就是对话框控件的Tab顺序问题. 运行加法计算器程序,显示对话框后不进行任何操作,直接按回车,可以看到对话框退出了.这是因为“退出”按钮是Tab顺序为1的控件,也就是第一个接受用户输入的控件.但是按照我们的输入习惯,应该是被加数的编辑框首先接受用户输入,然后是加数编辑框

VS 对话框控件的Tab顺序问题

我们先来直观的看看各个控件的Tab顺序吧.打开“Resource View”视图,然后在资源中找到对话框IDD_ADDITION_DIALOG,双击ID后中间客户区域出现其模板视图.在主菜单中选择“Format”->"Tab Order"(VS 2010)或者VS 2012 C#中的“视图--Tab键顺序”,或者按快捷键Ctrl+D (在C#中无法使用),对话框模板上就会显示各个控件的Tab顺序数字.如下图: 上图中每个控件左上角都有一个数字,这就是它的Tab响应顺序.对话框刚打

MFC中控件类消息响应实现方法

功能实现:主窗口内有一CListBox,希望鼠标右键点击CListBox编辑框内时,实现响应. 方法:1.新建一个CNewListBox类继承于CListBox,并添加右键响应. 2.将主窗口的CListBox关联到CNewListBox类(即CNewListBox类的一个对象是主窗口的CListBox控件:CNewListBox m_listbox,所以m_listbox拥有CNewListBox类中右键响应的方法) 3.在CNewListBox类中实现右键响应方法.

MFC中控件添加了变量后修改

新增一个变量这个变量存在于两个位置,一个是头文件中项目名+Dlg.h文件,另一个是源文件中项目名+Dlg.cpp文件

VS中查看/修改Dialog控件TAB顺序的方法

打开资源视图,打开Dialog的编辑界面 查看: 格式>Tab键顺序 修改: 格式>Tab键顺序 用鼠标左键按你想要的顺序点击各个控件的TAB标签,就设定了 那些你想要TAB键能选择到的控件,一定要让该控件>属性>Tabstop>设为True Tabstop为False的话,TAB键是选择不到控件的(即便它仍然有TAB顺序) 当然,如果你不嫌麻烦的话就去改RC文件的源码,控件的TAB顺序是由RC文件中定义每个控件的源码的出现先后次序决定的.(参考Programming Win

问题解决——MFC SDI程序 CFormView中控件随窗口缩放

从来都是做对话框程序,这次想做个SDI的程序,想着用一下带Robbin界面的office2007风格,就不用使用那些花钱的商业控件/UI库了. 如果你不想看我打的文字,可以直接拷走代码,自己声明上定义再略作修改就可以用了,不需做任何修改. -------------------------------小尾巴首次登场----------------------------------- SDI程序,是要缩放的,如果是往里输入文字的话,这倒没什么,但是这次我使用的是CFormView类,里面加了控件

C#WinForm如何调整控件的Tab按键顺序

在日常生活中,很多用户都会有使用Tab键的习惯.而在C#的WinForm开发中,Tab按键的顺序默认是你拖拽进窗体的顺序.那么我们如何修改这个顺序呢?答案如下(以VS2010为例). 只需要点击[视图]--[Tab键顺序],点击后会出现图2的效果,只需要用鼠标点击控件上的数字即可调整Tab顺序. 图1 图2

MFC控件编程:Tab Control

Tab控件的使用 1 插入Tab控件的数据项(标签) CTabCtrl::InsertItem 2 以Tab控件为父窗口创建对话框 3 调整对话框大小 4 在Tab控件的SELCHANGE消息处理函数中,根据当前选项的索引设置对话框的显示状态. 新建一个基于对话框的工程,拖放一个Tab Control控件,Ctrl+W 为之绑定一个控件变量m_wndTabCtrl 插入两个对话框资源做为标签页面,注意设置它们的样式为:child 和 无边框 双击对话框资源为他们添加相关类,父类使用默认CDial