Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2008, 17:48   #1
chingiz
Пользователь Подтвердите свой е-майл
 
Аватар для chingiz
 
Регистрация: 21.05.2007
Сообщений: 88
По умолчанию PageControl

Привет всем. Подскажите как в PageControl при переключении страницы узнать на какую страницу я переключаюсь?
Уже Чему-то научился Но этого мало
chingiz вне форума Ответить с цитированием
Старый 20.11.2008, 17:51   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

PageControl1.ActivePage
или
PageControl1.ActivePageIndex
В событии OnChanging
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2008, 17:57   #3
chingiz
Пользователь Подтвердите свой е-майл
 
Аватар для chingiz
 
Регистрация: 21.05.2007
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
PageControl1.ActivePage
или
PageControl1.ActivePageIndex
В событии OnChanging
Так я узнаю на какой закладке я нахожусь в данный момент, а мне надо узнать на какую закладку я перехожу и по некоторому условию запретить или разрешить переход именно на конкретную страницу
Уже Чему-то научился Но этого мало
chingiz вне форума Ответить с цитированием
Старый 20.11.2008, 18:01   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Еще в событии OnChanging есть NewIndex: Integer;
Как раз то, что нужно.
Цитата:
запретить или разрешить переход именно на конкретную страницу
Еще там есть AllowChange: Boolean
_SERGEYX_ вне форума Ответить с цитированием
Старый 20.11.2008, 18:17   #5
chingiz
Пользователь Подтвердите свой е-майл
 
Аватар для chingiz
 
Регистрация: 21.05.2007
Сообщений: 88
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Еще в событии OnChanging есть NewIndex: Integer;
Как раз то, что нужно.
[/B]
Про AllowChange я знаю. А вот NewIndex: Integer; я не нашел. У меня Delphi 7 может в этом дело?
Уже Чему-то научился Но этого мало
chingiz вне форума Ответить с цитированием
Старый 20.11.2008, 18:22   #6
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Ой. Точно. Просто я пользуюсь компонентами Raize.
Там такое событие
Код:
procedure TForm1.RzPageControl1Changing(Sender: TObject; NewIndex: Integer;
  var AllowChange: Boolean);
begin
//
end;
Сам не знал, что в стандартном PageControl по-другому.
_SERGEYX_ вне форума Ответить с цитированием
Старый 20.11.2008, 19:08   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
chingiz
А в хелп вера заглянуть не позволяет? Есть же еще событие OnChange
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2008, 19:56   #8
chingiz
Пользователь Подтвердите свой е-майл
 
Аватар для chingiz
 
Регистрация: 21.05.2007
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А в хелп вера заглянуть не позволяет? Есть же еще событие OnChange
ну и что, а как по твоему в onchenge я должен запретить открытие ну скажем второй закладки?
Уже Чему-то научился Но этого мало
chingiz вне форума Ответить с цитированием
Старый 20.11.2008, 20:04   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

НАпример так:
Код:
procedure TForm1.PageControl1Change(Sender: TObject);
begin
if TPageControl(sender).ActivePageIndex=1 then
 TPageControl(sender).ActivePageIndex:=TPageControl(sender).tag;
end;

procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
TPageControl(sender).Tag:=TPageControl(sender).ActivePageIndex;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2008, 20:19   #10
chingiz
Пользователь Подтвердите свой е-майл
 
Аватар для chingiz
 
Регистрация: 21.05.2007
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
НАпример так:
Попробовал, в принципе можно как вариант. Но всетаки с таким кодом переключение все равно происходит, а потом просто идет возврат на предыдущую страницу. мне это не подходит. В общем то спасибо всем кто откликнулся - решение найдено. Кому интересно вот код
Код:
var
PosX:integer;
PosY: integer;

procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  if  PageControl1.IndexOfTabAt(PosX,PosY) = 1 then
  AllowChange:=false;
end;

procedure TForm1.PageControl1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  PosX:=X;
  PosY:=Y;
end;
Уже Чему-то научился Но этого мало
chingiz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Корешки в PageControl! Fellics{новичок} Помощь студентам 2 20.09.2008 22:44
Прозрачный PageControl Nemez Компоненты Delphi 7 23.07.2008 06:58
PageControl+WebBrowser VenMaster Компоненты Delphi 0 11.05.2008 23:20
PageControl И StringGrid Gorin Компоненты Delphi 7 20.07.2007 18:15
изменённый Edit на pagecontrol max_vogel Компоненты Delphi 0 02.07.2007 14:13