Показать сообщение отдельно
  #1  
Старый 11.07.2012, 12:40
samovar samovar вне форума
Прохожий
 
Регистрация: 11.07.2012
Сообщения: 1
Репутация: 10
По умолчанию При удалении TabSheet-ов стринггрид теряет фокус [D7]

При удалении 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; но так же при потере фокуса происходит "моргание" всей формы, что не есть гуд.
Ответить с цитированием