Tab Ctrl

2016-02-19 12:20 7 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的Tab Ctrl,希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

Tab属性页控件可以在一个窗口中添加不同的页面,然后在页选择发生改变时得到通知。MFC中使用CTabCtrl类来封装属性页控件的各种操作。通过调用
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些属性页控件的专用风格:

TCS_BUTTONS 使用按钮来表示页选择位置

TCS_MULTILINE 分行显示页选择位置

TCS_SINGLELINE 只使用一行显示页选择位置

在控件创建后必需向其中添加页面才可以使用,添加页面的函数为:
BOOL InsertItem( int nItem, LPCTSTR lpszItem );nItem为位置,从零开始,lpszItem为页选择位置上显示的文字。如果你希望在页选择位置处显示一个图标,你可以调用
BOOL InsertItem( int nItem, LPCTSTR lpszItem, int nImage );nImage指明所使用的图片位置。(在此之前必须调用CImageList * SetImageList( CImageList * pImageList );设置正确的ImageList)

此外CTabCtrl还提供了一些函数用于得到/修改控件的状态。
int GetCurSel( )/int SetCurSel( int nItem );用于得到/设置当前被选中的页位置。
BOOL DeleteItem( int nItem )/BOOL DeleteAllItems( );用于删除指定/所有页面。
void RemoveImage( int nImage );用于删除某页选择位置上的图标。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

属性页控件的消息映射同样使用ON_NOTIFY宏,形式如同:ON_NOTIFY( wNotifyCode, id, memberFxn ),wNotifyCode为通知代码,id为产生该消息的窗口ID,memberFxn为处理函数,函数的原型如同void OnXXXTab(NMHDR* pNMHDR, LRESULT* pResult),其中pNMHDR为一数据结构,在具体使用时需要转换成其他类型的结构。对于列表控件可能取值和对应的数据结构为:

TCN_SELCHANGE 在当前页改变后发送,所用结构:NMHDR

TCN_SELCHANGING 在当前页改变时发送可以通过返回TRUE来禁止页面的改变,所用结构:NMHDR

一般来讲在当前页发生改变时需要隐藏当前的一些子窗口,并显示其它的子窗口。下面的伪代码演示了如何使用属性页控件:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

CParentWnd::OnCreate(...)

{

         m_tab.Create(...);

         m_tab.InsertItem(0,"Option 1");

         m_tab.InsertItem(1,"Option 2");

         Create a edit box as the m_tabs Child

         Create a static box as the m_tabs Child

         edit_box.ShowWindow(SW_SHOW); // edit box在属性页的第一页

         static_box.ShowWindow(SW_HIDE); // static box在属性页的第二页

}

void CParentWnd::OnSelectChangeTab(NMHDR* pNMHDR, LRESULT* pResult)

{//处理页选择改变后的消息

         if(m_tab.GetCurSel()==0)

         {//根据当前页显示/隐藏不同的子窗口

                 edit_box.ShowWindow(SW_SHOW);

    

来源:http://www.tulaoshi.com/n/20160219/1600614.html

延伸阅读
很多时候,我们都用Tab键来移动输入焦点,但是有些情况下,比如输入用户名后还需要输入密码,由于习惯性,你有可能在输入用户名后就按了一下回车,希望到密码框里继续输入,可是却按了确定键,报告密码错误,所以使用以下代码来让回车键代替TAB键下移一个控件: 在窗体上放两个控件,Edit1和Edit2,再加入下列代码拦截击键: Pr...
标签: 电脑入门
大家都知通,Tab是跳格键,比如写文章时开头要空两格就可用这个键。不过它还有别的作用,比如在表格中从前面的格跳到后面的格.在程序界面中从一个项目跳到另一个项目。编程人员用它来实现程序文本的格式化对齐等。此外,它还常与其他控制键联合使用。实现倒序或跨距离跳转等特殊跳转。 在打开的项目之间切换在Windows中.如果你打开了许多面口...
标签: 电脑入门
大家都知通,Tab是跳格键,比如写文章时开头要空两格就可用这个键。不过它还有别的作用.比如在表格中从前面的格跳到后面的格.在程序界面中从一个项目跳到另一个项目.编程人员用它来实现程序文本的格式化对齐等。此外,它还常与其他控制键联合使用.实现倒序或跨距离跳转等特殊跳转。 在打开的项目之间切换在Windows中.如果你打开了许多面口,使...
标签: 电脑入门
首先,我们先来了解一下,什么是WORD的制表位及其作用! 一、制表位的概念及作用 制表位是指水平标尺上的位置,它指定了文字缩进的距离或一栏文字开始的位置,使用户能够向左、向右或居中对齐文本行;或者将文本与小数字符或竖线字符对齐。 用户可以在制表符前自动插入特定字符,如句号或划线等。默认情况下,按一次Tab键,Word将在文档中插入...
标签: 电脑入门
其实大家都知道,Tab是跳格键,比如写文章时开头要空两格就可用这个键。不过它还有别的作用,比如在表格中从前面的格跳到后面的格.在程序界面中从一个项目跳到另一个项目。编程人员用它来实现程序文本的格式化对齐等。此外,它还常与其他控制键联合使用。实现倒序或跨距离跳转等特殊跳转。 在Windows的对话窗口中,有的往往要出现许多选项卡,...

经验教程

960

收藏

42

精华推荐

Ctrl+Enter提交内容信息

Ctrl+Enter提交内容信息

稀里糊涂小黄毛

基于jquery的tab切换 js原理

基于jquery的tab切换 js原理

沫沫心弦

CSS制作标签卡TAB效果

CSS制作标签卡TAB效果

Laregcat

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部