win3.1控件页中的tabset控件有关问题

win3.1控件页中的tabset控件问题
一个tabset控件,上面生成很多tabs页的时候,会自动产生左右滚动条,这个时候在mousemove方法中通过itematpos函数得到某个tabs页的Index时会不正确,tabset控件函数itematpos代码如下:
function TTabSet.ItemAtPos(Pos:TPoint):Integer;
var
  TabPos:TTabPos;
  I:Integer;
Begin
  Result:=-1;
  If (Pos.Y<0) or (Pos.Y>ClientHeight) then exit;
  For I:=0 to TabPositions.Count-1 do
  begin
  Pointer(TabPos):=TabPositions[I];
  if (Pos.X>=TabPos.StartPos) and (Pos.X<=TabPos.StartPos+TabPos.size) then
  begin
  Result:=I;
  Exit;
  end; 
  end; 
End;


------解决方案--------------------
delphi 2007:

声明
Delphi(Pascal) code
function ItemAtPos(Pos: TPoint; IgnoreTabHeight: Boolean = False): Integer;