最好有例子。

解决方案 »

  1.   

    12.2 标签控件
    注: 标签控件创建外观像一套文件夹的窗口。
    外观上最有趣的一个常用控件是标签控件。标签控件模仿一套文件上的标签。每次选取一个标签时,就出现与它相关的文件夹。尽管标签控件的使用很简单的,但为其编程却是比较复杂。此部分将介绍标签控件的基本知识。下一部分将讨论标签的附加特征。12.2.1 创建标签控件
    为创建标签控件,可使用CreateWindow( )或CreateWindowEx( ),并指定窗口类WC_TABCONTROL。一般的标签控件都是子窗口。通常使用WS_VISIBLE 样式来创建标签控件,以使其能自动显示。例如,下列程序创建了一个标签控件:
    hTabWnd = CreateWindow(
    WC_TABCONTROL,
    ″″,
    WS_VISIBLE | WS_TABSTOP | WS_CHILD,
    0, 0, 100, 100,
    hwnd, /* handle of parent */
    NULL,
    hInst, /* instance handle */
    NULL
    );
    一旦创建了标签控件,用户的应用程序就可以向其发送消息,标签被访问时也可以产生消息。
    创建后的标签控件是空的。在可以使用它之前,必须向其内插入标签。
    每个标签都是由TCITEM 结构体定义的,该结构体如下所示:
    typedef struct tagTCITEM
    {
    UINT mask;
    DWORD dwState;
    DWORD dwStateMask
    LPSTR pszText;
    int cchTextMax;
    int iImage;
    LPARAM lParam;
    } TCITEM;
    在此结构体中,mask 中保存的值决定结构体中dwState、pszText、iImage
    和lParam 成员是否包含有效数据。mask 中可含有一个或多个下列值:
    ------------------------------------------------------
        mask 中的值         意义
    ------------------------------------------------------
    TCIF_IMAGEi             Image 中包含数据
    TCIF_PARAM              lParam 中包含数据
    TCIF_STATE              dwState 中包含数据
    TCIF_TEXT               pszText 中包含数据
    ------------------------------------------------------mask 中也许包含TCIF_RTLREADING 这个值,这意味着文本应从右向左显示。
    创建标签时不使用dwState。当获得了关于已存在的标签的信息时,dwState 就暗示出它的状态。它可以是零、TCIS_BUTTONPRESSED(标签被选取)或TCIS_HIGHLIGHTED(标签被高亮显示)。dwStateMask 的值决定dwState 中的哪个位是有效的。在插入条目时不使用此域。
    设置标签时,pszText 指向将在标签内显示的字符串。当获得有关标签的信息时,pszText 必须指向将接收文本的数组。在此情况下,cchTextMax的值指定pszText 指向的数组的大小。
    如果有与标签控件相联系的图像列表,则iImage 中将包含与指定的标签相联系的图像的索引。如果没有与标签控件相联系的图像列表,则iImage应是_1。在本章中不使用图像,但在用户的应用程序中,会发现它们是非常有用的。
    lParam 中包含应用程序定义的数据。
    可移植性: TCITEM 结构体代替了旧的TC_ITEM 结构体。在TC_ITEM中,dwState 和dwStateMask 是保留域。
      

  2.   

    太长了,你自己去看吧:
    http://www.cstudyhome.com/wenzhang06/ReadNews.asp?NewsID=2763#12.2好像需要注册,不过不要钱 :)
      

  3.   

    不错啊。我主要就是想在上面加上EDIT和TREE控件。这几天狂翻MSDN,基本解决了。哈哈。
    谢谢