Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 22:39:47
visual c++中标签控件(Tab Control)

visual c++中标签控件(Tab Control)

标签控件(Tab Control)

1.概述

标签控件也称选项卡控件,是一个分割多页面的窗口,每个页面都匹配有一个带有标题的标签,当用鼠标单击一个标签就显示对应的页面。标签在Windows应用程序中是非常常见的。

标签控件在功能上等同于一系列对话框窗口,但使用起来更接近于人们的使用习惯。编程时使用标签控件,用户就可以在一个窗口的相同区域内定义多个页面,其中,每个页面上包括一些不同的控件,以实现不同的对话框功能。

标签是作为控件使用的,所以它不允许编程时直接在各个标签上添加控件,只能在选中不同标签时,在相同位置显示含有不同控件对象的对话框。与一般的MFC编程类似,这些作为“标签页”显示的对话框可以作为资源添加到项目中。事实上,标签控件实现的是在不同对话框之间切换,而不只是标签页上控件的显示切换。

标签控件有几个属性读者需要了解一下:Alignmet下拉列表框用于设置每个标签的宽度。它有几个选项:right justify是默认值,它表示每个标签的宽度随着标题长度自动调节;fixed width为固定宽度。Buttons表示标签采取按钮形状;Multiline表示标签可以多行的形式显示;Hottrack表示当光标通过一个标签时,标签标题呈蓝色显示;Bottom表示标签位于控件的底端;Vertical表示标签以垂直方式出现。

在MFC中,与标签对应的类是CTabCtrl,CTabCtrl类中重要的成员函数如表1所示。



表1 CTabCtrl类中常用的成员函数

在CTabCtrl类中的很多成员函数里都使用了TCITEM结构,该结构用于设置每一个标签的属性,其组成如下:

typedef struct tagTCITEM {

UINT mask;

DWORD dwState;

DWORD dwStateMask;

LPTSTR pszText;

int cchTextMax;

int iImage;

LPARAM lParam;

} TCITEM, FAR *LPTCITEM;

例如,如果想向CTabCtrl类对象中新插入一个标签,可以用下面的方法:

TCITEM item;

item.mask=TCIF_TEXT;

item.pszText="TabPageName";

m_Tab.InsertItem(m,&item);

2.CTabCtrl类应用实例

(1)新建一个基于对话框的应用程序CTab。

(2)向对话框资源中添加一个Tab Control控件。

(3)通过ClassWizard为这个控件建立一个相关联的成员变量m_Tab。

(4)单击主菜单中“Insert”/“Resource”菜单项,打开“Insert Resource”对话框,向项目中添加一个无边框的对话框资源,如图1所示。

选择FORMVIEW对话框资源

单击New按钮



图1 Insert Resource对话框

(5)在工作区(Workspace)中选中新添加的资源,单击鼠标右键,选择弹出菜单中的“Properties”菜单项,打开“Dialog Properties”对话框,并将“Language”组合框的值改为“China(P.R.C.)”,如图2所示。

语言选择汉语



图2 Dialog Properties对话框

(6)双击建立的资源,在编辑窗口中单击鼠标右键,打开“Dialog Properties”对话框,将其“ID”改为IDD_PAGE1(用户可以自己定义),并将字体改为“宋体,9号”,如图3所示。


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759