При удалении TabSheet-ов стринггрид теряет фокус, если динамических TabSheet-ов было больше одного.
Код:
var
tsnew:TTabSheet;
tsnew:=TTabSheet.Create(self); //
for j:=PageControl1.PageCount-1 downto 1 do
PageControl1.Pages[1].Free;
for i:=0 to str_acc.count-1 do
begin
tsnew:=TTabSheet.Create(self);
with tsnew do
begin
PageControl := PageControl1;
Caption :=str_acc.Strings[i];
PageControl1.ActivePageIndex:=0;
end;
end;
Админ: Пользуемся тегами для оформления кода.
Одна закладка всегда присутствует. Добавляются динамические закладки и удаляются все кроме 0-ой. Если динамических закладок было больше одной, то стрингрид теряет фокус. Закладки удаляются/добавляются при перемещении курсора по ячейкам стринггрида.
Можно в конец конечно добавить StringGrid1.SetFocus; но так же при потере фокуса происходит "моргание" всей формы, что не есть гуд.