Вниз
Скачать: 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
1-1142502896
КаПиБаРа
2006-03-16 12:54
2006.04.23
Как сделать Абстрактный property


9-1128061133
КиТаЯц
2005-09-30 10:18
2006.04.23
Quark with GLScene using OpenBSP (есть кто шарит в Quark?)


3-1141300602
RomanH
2006-03-02 14:56
2006.04.23
Конвертация DB->DBF


15-1143665763
zeman
2006-03-30 00:56
2006.04.23
Нужна помощь


2-1144383909
Nick_serov
2006-04-07 08:25
2006.04.23
Забыл св-во Grid а




   Наверх