为啥listctrl返回列数,在xp里有时会返回0,和win7上返回的结果不一样呢

为什么listctrl返回列数,在xp里有时会返回0,和win7上返回的结果不一样呢?
为什么listctrl返回列数,在xp里有时会返回0,和win7上返回的结果不一样呢?

CMFCHeaderCtrl &head = GetHeadCtrl;
int ncols = 0;
ncols = head.GetItemCount();

这段代码在win7下没问题,每次都能正确返回listctrl的列数,但是在xp下运行的时候,明明有4列,返回却是0列,这是为什么啊,求指导。

------解决方案--------------------
这段代码本身没有问题,可能是GetHeadCtrl的问题,你试着调试,看下获取道德head是否正确