From 43788346d635a8a31d13fede14f5e362e2ee1df7 Mon Sep 17 00:00:00 2001 From: juha Date: Sun, 15 Jan 2012 10:37:00 +0000 Subject: [PATCH] LCL: return correct value from TPageControl.TabIndexAtClientPos also when TabVisible=False. Issue #21088 git-svn-id: trunk@34741 - --- lcl/include/customnotebook.inc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lcl/include/customnotebook.inc b/lcl/include/customnotebook.inc index f632ebb46a..914167cceb 100644 --- a/lcl/include/customnotebook.inc +++ b/lcl/include/customnotebook.inc @@ -307,9 +307,21 @@ end; NoteBook1.ScreenToClient(Mouse.CursorPos)); ------------------------------------------------------------------------------} function TCustomTabControl.TabIndexAtClientPos(ClientPos: TPoint): integer; +var + i, VisiblePageInd: Integer; begin - if HandleAllocated then - Result:=TWSCustomTabControlClass(WidgetSetClass).GetTabIndexAtPos(Self, ClientPos) + if HandleAllocated then begin + Result:=TWSCustomTabControlClass(WidgetSetClass).GetTabIndexAtPos(Self, ClientPos); + VisiblePageInd:=-1; + for i:=0 to PageCount-1 do begin + if Page[i].TabVisible then + Inc(VisiblePageInd) + else begin + if VisiblePageInd < Result then + Inc(Result); + end; + end; + end else Result:=-1; end;