Главная страница
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.057 c
4-1138956993
hgd
2006-02-03 11:56
2006.04.23
Подскажите о методе нажатия кнопку в другом приложении


4-1137778074
Galiaf
2006-01-20 20:27
2006.04.23
Узнать частоту обновления экрана и сменить её.


4-1138802484
DDDiM
2006-02-01 17:01
2006.04.23
шпион за com портом


1-1142536791
TStas
2006-03-16 22:19
2006.04.23
А можно серверу сценариев SCRiptHost передать не ...


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