Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished 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所示。
赞