LCL: Keep TabOrder correct also when combobox tabstop=false. Issue #18217

git-svn-id: trunk@33597 -
This commit is contained in:
juha 2011-11-17 22:57:31 +00:00
parent 1d2f226d61
commit b69dd28405

View File

@ -4166,16 +4166,22 @@ begin
begin begin
FTabOrder := GetTabOrder; FTabOrder := GetTabOrder;
Count := ListCount(FParent.FTabList); Count := ListCount(FParent.FTabList);
if NewTabOrder < 0 then NewTabOrder := Count; if NewTabOrder < 0 then
if FTabOrder = -1 then Inc(Count); NewTabOrder := Count;
if NewTabOrder >= Count then NewTabOrder := Count - 1; if FTabOrder = -1 then
Inc(Count);
if NewTabOrder > Count then
NewTabOrder := Count;
if NewTabOrder <> FTabOrder then if NewTabOrder <> FTabOrder then
begin begin
if FTabOrder <> - 1 then if FTabOrder <> - 1 then
ListDelete(FParent.FTabList,FTabOrder); ListDelete(FParent.FTabList,FTabOrder);
if NewTabOrder <> -1 then if NewTabOrder <> -1 then
begin begin
ListInsert(FParent.FTabList,NewTabOrder,Self); if NewTabOrder = Count then
ListAdd(FParent.FTabList,Self)
else
ListInsert(FParent.FTabList,NewTabOrder,Self);
FTabOrder := NewTabOrder; FTabOrder := NewTabOrder;
end; end;
end; end;