Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Выключение вкладок PageControl   Найти похожие ветки 

 
Ilg   (2006-03-14 17:52) [0]

Здравствуйте!
Скажите, есть ли возможность выключать отдельные вкладки PageControl (типа Enabled у Button), чтобы переход на них был не возможен. Пробовал делать
TabSheet1.Enabled:=false;
но вкладка все равно открывается (правда ее элементы не доступны).


 
clickmaker ©   (2006-03-14 17:56) [1]

TabSheet1.TabVisible = false
или в OnChanging - AllowChange := false;


 
Ilg   (2006-03-14 18:40) [2]

TabSheet1.TabVisible = false - не подходит.
А с OnChanging, что-то не могу разобраться: Как определить, на какую вкладку выполняется переход (ведь блокировать мне нужно не все вкладки)?
При OnChanging свойство ActivePage еще содержит текущую вкладку.


 
clickmaker ©   (2006-03-14 18:43) [3]

IndexOfTabAt(MouseX, MouseY)


 
Ilg   (2006-03-18 11:06) [4]

А что такое MouseX, MouseY (координаты мыши?)? Откуда их взять? Если это координаты, то координаты относительно экрана или компонента PageControl? И если это координаты мыши, то сработает ли это при смене вкладок с помощью клавиатуры? Спасибо!


 
Рустем ©   (2006-03-18 15:36) [5]


> А что такое MouseX, MouseY (координаты мыши?)? Откуда их
> взять? Если это координаты, то координаты относительно экрана
> или компонента PageControl?

Относительно левого верхнего угла первой закладки компонента PageControl. IndexOfTabAt возвращает номер закладки при указании соответствующих значений координат. Координаты можно получить, например, из обработчика события OnMouseMove компонента PageControl.


> сработает ли это при смене вкладок с помощью клавиатуры?

Нет.

А если взять за идею такой вариант (невозможно выбрать вторую закладку):

...
var
 Form1: TForm1;
 APage: Integer;
...
procedure TForm1.PageControlChanging(Sender: TObject;
 var AllowChange: Boolean);
begin
 APage := PageControl.ActivePageIndex;
end;
...
procedure TForm1.PageControl1Change(Sender: TObject);
begin
 if PageControl.ActivePageIndex = 1 then
   PageControl.ActivePageIndex := APage;
end;
...

Это вариант с мышью. Для переключения закладок с помощью и мыши, и клавиатуры необходимо доработать...


 
vovnuke ©   (2006-03-18 16:25) [6]

в OnChanging сохраняй в какое нибудь поле ActivePage, а в OnChange проверяй можно или нет, если не то возвращай ActivePage на место



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
2-1144231120
align
2006-04-05 13:58
2006.04.23
Работа с тектовыми файлами


2-1144679604
Дарья
2006-04-10 18:33
2006.04.23
stringgrid


2-1144665348
Vladik
2006-04-10 14:35
2006.04.23
Программа входит в цикл и больше ни на что не реагирует


2-1144660404
Jolik
2006-04-10 13:13
2006.04.23
Инсталляторы.


6-1136967701
sain
2006-01-11 11:21
2006.04.23
Работа с сетью