Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
6-1136712267
n0p
2006-01-08 12:24
2006.04.23
Отключение Nagle в Indy 10


15-1143915613
Кручен-Верчен
2006-04-01 22:20
2006.04.23
Мне просто страшно подумать, что с моим ником станет!?


2-1143984013
bogdan
2006-04-02 17:20
2006.04.23
задача на перебор


2-1144481805
task
2006-04-08 11:36
2006.04.23
Запуск файла


2-1144475795
Der Nechk@ssoff
2006-04-08 09:56
2006.04.23
Dateimepicker




   Наверх