如下的两个函数调用:
int n=pTabPage->GetItemCount();
CTabCtrl * pNextTabPage=(CTabCtrl*)pTabPage->GetNextDlgTabItem(pTabPage,FALSE);
我明明有三个Tab 属性页,pTabPage为第一个Tab 属性页的指针,为什么返回值总是为零啊,第二个函数为什么返回值pNextTabPage总是与pTabPage相同,而不是下一个属性页的指针啊?
大家教我
int n=pTabPage->GetItemCount();
CTabCtrl * pNextTabPage=(CTabCtrl*)pTabPage->GetNextDlgTabItem(pTabPage,FALSE);
我明明有三个Tab 属性页,pTabPage为第一个Tab 属性页的指针,为什么返回值总是为零啊,第二个函数为什么返回值pNextTabPage总是与pTabPage相同,而不是下一个属性页的指针啊?
大家教我
至于GetNextDlgTabItem()似乎是取下一个按了Tab键以后,焦点移动过去的控件的指针。不是你想到的取Tab页面的指针。使用函数错误。
最后,VC下面Tab控件不管你有几页,实际上都是同一个HWND。一般来说VC下面用Tab实现换页比较常用的方法是嵌入几个子窗口,根据当前所处的页面(GetCurSel()返回值)决定哪一页可见,其它页不可见。
1、你没有插入任何页面。
2、CTabCtrl指针找错了。没有CTabCtrl的创建和插入代码,我无法判断
如果不对,那么应该怎么办呢?还有就是怎样才能获得下一个属性页的指针或句柄?
VC的Tab所有属性页的句柄都相同,没有这个属性页和下个属性页的概念。
而GetNextDlgTabItem函数根本和Tab页无关,指的是窗口上Tab按键顺序。
CTabCtrl::GetItemCount()
CTabCtrl::GetItem()
至于CTabCtrl::GetItem()只能取得Tab上面的标签的一些信息,不能取到LZ要的HWND。
LZ你说说你到底想要干什么吧,我个人感觉你把Tab控件的使用方法完全误解了,如果继续按照你的思路下去,是完成不了任务的。
我试了下GetItemCount(),w_anthony() 说的确实是对的,至于GetNextDlgTabItem我还不太清楚,谢谢两位了,我自己再去照照资料