软件注册站
热情软件屋

 
如何使用Tab Control
编号: QA000392    
建立日期: 1999年1月22日 最后修改日期: 2004年2月5日
所属类别: C/C++ - Windows 9x控件
   
    工具:Visual C++5.0
    操作系统:Win95
    请问在Vc++5.0中进行对话框程序设计时,“Tab control”控件(对话框控件工具栏中左下角倒数第二个控件)在对话框中是隐式创建的。如何让这个控件在程序中显示?如何更改该控件中"Tab1"、"Tab2"、"Tab3"等标签名?如何增加、减少标签?(Bifei)
   
    Tab Control打印的Win32 API的消息为TCM_*和TCN_*,打印对应的MFC类为CTabCtrl。我们这里只介绍MFC编程。你首先可以利用Class Wizard建立一个对应该控件的变量。由于CTabCtrl是从CWnd继承来的,你可以象使用其它控件一样使用ShowWindow来显示它。添加、减少和修改标签分别使用InsertItem、DeleteItem和SetItem函数。所有此类函数都要用到TC_ITEM结构,这个结构各成员的含义参加帮助。下面给出一小段代码演示如何向Tab Control加入标签。
     TC_ITEM tItem;
     tItem.mask = TCIF_TEXT;
     tItem.pszText = "&Tab 1";
     tItem.cchTextMax = strlen(tItem.pszText);
    
     m_Tab1.InsertItem(0, &tItem);
    使用过VB的SSTAB控件的人,往往以为可以将其他控件添加为Tab Control的子控件,实际上是不行。VC的Tab Control只是提供了一个基本的框架,而你仍然需要在TCN_SELCHANGE事件中,根据用户的选择决定哪些控件显示,而哪些控件不显示。
    
    li的意见:
    操作系统: windows98
    编程工具: vc++6.0
    问题: dear webmaster:
     您好,我是个初学者,有个问题请教您,我在用vc编程时建立了一个dialogbased的程序,并使用了一个标签控件,但为什么编译后运行时只有一个标签呢,要知道在设计时我看到有5个标签页的!敬请指教!!!!!谢谢。
    水平: 刚入门
    答:设计时的5个标签页只是一个示意,并不是真的已经加了5个标签。你仍然需要向上面说的那样使用代码进行添加。
    
    slayerjojo问: 有没有直接的方法或者属性表示用户选中的是哪个页?难道是在事件里面间接得到?
    :如果使用MFC,使用CTabCtrl::GetCurSel获得当前页。如果是使用API,发送TCM_GETCURSEL消息获得当前页。

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, Windows 9x控件, listview, treeview, monthview, progress bar

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio