最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

VS2010和MFC编程入门之32(常用控件:标签控件Tab Control 上)

来源:动视网 责编:小OO 时间:2025-09-27 21:42:54
文档

VS2010和MFC编程入门之32(常用控件:标签控件Tab Control 上)

VS2010MFC编程入门之三十二(常用控件:标签控件TabControl上)树形控件TreeControl,本节开始讲解标签控件TabControl,也可以称为选项卡控件。标签控件简介标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。下图是Windows系统配置中标签控件的例子:使用标签控件我们可以同时加载多个有关联的页面,用户只需点击标签即可实现页面切换,方便灵活的进行操作。每个标签除了可以显示标签文本,还可以显示图标。标
推荐度:
导读VS2010MFC编程入门之三十二(常用控件:标签控件TabControl上)树形控件TreeControl,本节开始讲解标签控件TabControl,也可以称为选项卡控件。标签控件简介标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。下图是Windows系统配置中标签控件的例子:使用标签控件我们可以同时加载多个有关联的页面,用户只需点击标签即可实现页面切换,方便灵活的进行操作。每个标签除了可以显示标签文本,还可以显示图标。标
VS2010MFC编程入门之三十二(常用控件:标签控件Tab Control 上)

树形控件Tree Control,本节开始讲解标签控件Tab Control,也可以称为选项卡控件。

标签控件简介

标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。下图是Windows系统配置中标签控件的例子:

使用标签控件我们可以同时加载多个有关联的页面,用户只需点击标签即可实现页面切换,方便灵活的进行操作。每个标签除了可以显示标签文本,还可以显示图标。

标签控件相当于是一个页面的容器,可以容纳多个对话框,而且一般也只容纳对话框,所以我们不能直接在标签控件上添加其他控件,必须先将其他控件放到对话框中,再将对话框添加到标签控件中。最终我们点击标签切换页面时,切换的不是控件的组合,而是对话框。

标签控件的通知消息

在对标签控件进行一些操作,比如点击标签时,标签控件也会向父窗口发送一些通知消息。我们可以为这些通知消息添加处理函数,实现各种功能。标签控件的主要通知消息及含义如下所示:

       TCN_SELCHANGE:通知父窗口控件的标签选择项已经改变

       TCN_SELCHANGING 通知父窗口控件的标签选择项正在改变

       TCN_KEYDOWN:通知父窗口在控件范围内键盘被按下

       TCN_GETOBJECT:具有TCS_EX_REGISTERDROP扩展特性并且对象被拖动时的通知消息

       TCN_FOCUSCHANGE:通知父窗口控件的按钮聚焦已经改变

       NM_CLICK:通知父窗口用户在控件区域范围内点击了鼠标左键

       NM_RCLICK:通知父窗口用户在控件区域范围内点击了鼠标右键

       NM_RELEASEDCAPTURE:通知父窗口在控件区域范围内释放鼠标捕获消息

标签控件的相关结构体

标签控件在使用中也有一些相关的结构体经常用到,主要以下几个:

       1. TCITEMHEADER结构体

该结构体用来指定或获取标签控件本身的属性。用在TCM_INSERTITEM、TCM_GETITEM和TCM_SETITEM消息中。

C++代码

typedefstructtagTCITEMHEADER {      

    UINT mask;   // 掩码,可以为TCIF_IMAGE(iImage成员有效)、TCIF_RTLREADING、TCIF_TEXT(pszText成员有效)

    UINT lpReserved1;   // 预留

    UINT lpReserved2;   // 预留

    LPTSTR pszText;     // 标签文本字符串

intcchTextMax;      

intiImage;         // 图标在标签控件图像序列中的索引

} TCITEMHEADER, *LPTCITEMHEADER;   

       2. TCITEM结构体

该结构体用来指定或获取标签页的属性。用在TCM_INSERTITEM、TCM_GETITEM和TCM_SETITEM消息中。

C++代码

typedefstructtagTCITEM {     

    UINT mask;  // 掩码,可以是TCIF_IMAGE(iImage成员有效)、TCIF_PARAM(lParam成员有效)、TCIF_RTLREADING、TCIF_STATE、TCIF_TEXT(pszText成员有效)

#if (_WIN32_IE >= 0x0300)

    DWORD dwState;   

    DWORD dwStateMask;   

#else   

    UINT lpReserved1;   

    UINT lpReserved2;   

#endif

    LPTSTR pszText;   

intcchTextMax;   

intiImage;   

    LPARAM lParam;     // 与标签页关联的32位数据

} TCITEM, *LPTCITEM;  

       3. TCHITTESTINFO结构体

该结构体包含了鼠标单击测试的信息。

C++代码

typedefstructtagTCHITTESTINFO {   

    POINT pt;  // 鼠标点击测试的客户区坐标

    UINT flags; // 接收点击测试的结果。有以下几种:TCHT_NOWHERE(坐标点不在标签上)、TCHT_ONITEM(坐标点在标签上但不在标签文本或图标上)、TCHT_ONITEMICON(坐标点在标签图标上)、TCHT_ONITEMLABEL(坐标点在标签文本上)

} TCHITTESTINFO, *LPTCHITTESTINFO;  

       4. NMTCKEYDOWN结构体

该结构体包含了标签控件中键盘按下的相关信息。主要用在TCN_KEYDOWN通知消息中。

C++代码

typedefstructtagNMTCKEYDOWN {   

    NMHDR hdr;   

    WORD wVKey;   

    UINT flags;   

} NMTCKEYDOWN;  

标签控件的上半部分就讲到这里了,下节教程将继续讲解标签控件的知识和应用实例。

文档

VS2010和MFC编程入门之32(常用控件:标签控件Tab Control 上)

VS2010MFC编程入门之三十二(常用控件:标签控件TabControl上)树形控件TreeControl,本节开始讲解标签控件TabControl,也可以称为选项卡控件。标签控件简介标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。下图是Windows系统配置中标签控件的例子:使用标签控件我们可以同时加载多个有关联的页面,用户只需点击标签即可实现页面切换,方便灵活的进行操作。每个标签除了可以显示标签文本,还可以显示图标。标
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top