 |
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。
|