![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
При удалении TabSheet-ов стринггрид теряет фокус [D7]
4ainik © (2012-07-10 21:28:00)При удалении 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; но так же при потере фокуса происходит "моргание" всей формы, что не есть гуд.
KilkennyCat (2012-07-23 12:32:00) [1]
> PageControl1.Pages[1].Free;
это опечатка?
> Можно в конец конечно добавить StringGrid1.SetFocus;
нужно
> при потере фокуса происходит "моргание" всей формы
блокировать перерисовку, если так много удалений за раз.