Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Програмно выбрать закладку в TPageСontrol


solenko ©   (2006-05-24 15:55:00) 

Здрастствуйте!
Подскажите как програмно выбрать закладку в TPageControl. SelctNextPage почему-то не работает. Может из-за того, что пытаюсь изменить из обработчика onChenge другой вкладки?


solenko   (2006-05-24 16:53:00) [1]

Vlad, понял абсолютно правильно. Спасибо.


Vlad   (2006-05-24 16:49:00) [2]


> solenko ©   (24.05.06 16:42) [8]


Событие OnChang ing
не даешь уйти с Tabsheet'a до тех пор пока не будут заполнены необходимые поля:

AllowChange := false;

(если я правильно понял что нужно сделать)


solenko   (2006-05-24 16:42:00) [3]

Забыл сказать... пробовал устанавливать фокус на контрол, который находится на первой странице. После любого из вариантов устанавливается нормально, а вот если не изменять вкладку то ругается "не могу установить фокус невидимому компоненту". Т.е. страница 1 как бы становится активна, но отображается все равно страница 2.


solenko   (2006-05-24 16:40:00) [4]

Уже пробовал. Мне не обязательно на последнюю страницу перейти (как раз нааборот на первую с последней) пробовал 3 варианта:

PageControl1.activePageIndex :=0;
PageControl1.SelectNextPage(true);
PageControl1.ActivePage := TabSheet1;

Ни один не работает.


Elen   (2006-05-24 16:33:00) [5]

замени
PageControl1.SelectNextPage(true);
на
PageControl1.activePageIndex:=PageControl1.activePageIndex+1
и не забудь проверить последняя ли это страница


solenko   (2006-05-24 16:27:00) [6]

Доходит


Elen   (2006-05-24 16:25:00) [7]

PageControl1.SelectNextPage(true);
Проверь в Дебуге доходит ли прога до этой строки? Поставь точку прерывания


solenko   (2006-05-24 16:11:00) [8]

Loginov Dmitry, не работает.

Elen:

if (edit1.text = '') or (edit2.Text = '') or (edit3.Text = '') or (edit4.Text = '') then
 begin
   Application.MessageBox('Сначала необходимо заполнить все поля на вкладке *Общие данные*!','Ошибка!', MB_ICONERROR);
//    PageControl1.ActivePageIndex := 0;
   PageControl1.SelectNextPage(true);
   exit;
 end;


Elen   (2006-05-24 16:07:00) [9]

А что у тебя прописано в OnChange?


Loginov Dmitry   (2006-05-24 16:06:00) [10]

ActivePage?


Наверх

Титульная страница Поиск, карта сайта Написать письмо