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

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

как программно запретить переключение между страницами PageContro


billybons ©   (2002-08-08 07:50:00) 

Существует ли способ для сабжа ? TabSheet1.Enabled переключение не запрещает :(


ЮЮ   (2002-08-08 08:52:00) [1]

>Странный какой-то способ, уж извините...
Этот способ не позволяет входить на TabSheet-ы, у котрых Enabled=False. О чем и спрашивалось первоначально. Это при детализации выяснилось, что нужно совсем другое. Отсюда и странности.


billybons   (2002-08-08 08:40:00) [2]


> Юрий Зотов
благодарю


Юрий Зотов   (2002-08-08 08:30:00) [3]

Странный какой-то способ, уж извините...

Из справки:
Set the AllowChange parameter to False to prevent the change.

То есть:

procedure TForm1.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
AllowChange := not Включен_режим_редактирования
end;

И больше ничего не нужно.


billybons   (2002-08-08 08:13:00) [4]


> ЮЮ
аааа , извини, сразу не вЪехал


billybons   (2002-08-08 08:10:00) [5]

Да нет , хотелось бы по включению режима редактирования на одной закладке сделать невозможным переключение на другую. Пока ничего умнее , кроме как преключать остальные TabSheet-ы Visible в false , не придумал, а хотелось бы чтоб они оставались видны, но переключение на них было бы невозможно.


ЮЮ   (2002-08-08 08:02:00) [6]

procedure TForm1.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
//запоминаем где были
if PageControl1.ActivePage.Enabled
then PageControl1.tag:=PageControl1.TabIndex;
end;

procedure TForm1.PageControl1Change(Sender: TObject);
begin
//возвращам туда, откуда пытались прийти
if not PageControl1.ActivePage.Enabled
then PageControl1.ActivePage:=PageControl1.Pages[PageControl1.tag]
end;


ЮЮ   (2002-08-08 07:54:00) [7]

TTabControl.OnChanging


Наверх

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