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

Вниз

Как сделать недоступной закладку PageControl ?   Найти похожие ветки 

 
ЮРИЙ_К   (2003-09-11 10:27) [0]

Уважаемые коллеги! Подскажите, как поступить в данной ситуации. Есть PageControlс тремя закладками. Мне нужно, чтобы по некому условию, третья закладка была недоступна, подчеркиваю, не невидна, а недоступна, при этом, чтобы ее Caption был стандартно затенен как принедоступности. Делал следующее:

MyLAbel - поле из базы, тип Boolean;

if ((Sender as TPageControl).ActivePageIndex = 2) then
AllowChange := MyLAbel.Value;

и так

if ((Sender as TPageControl).ActivePage = TabSheet1) then
AllowChange := MyLAbel.Value;

и так

if ((Sender as TPageControl).ActivePage = TabSheet1) and MyLAbel.Value then
AllowChange := true
else
AllowChange := False;

Короче, никак не работает. Нажимаю на первую, вторую... Стоит нажать на третью закладку - все блокируются. В чем здесь не правильно сделано?

ЗЫ: Обрабатывается событие PageControl2Changing(Sender: TObject; var AllowChange: Boolean);


 
ZEE   (2003-09-11 10:35) [1]

if TPageControl(Sender).TabIndex = 2
then AllowChange := MyLAbel.Value
else AllowChange := true;


 
ЮРИЙ_К   (2003-09-11 10:43) [2]

Не, все-равно не работает, перейдя на третью- клинят все ! 8-(
Такое ощущение, что событие onChanging не работает, почему пускает нажать на закладку. Ведь оно должно срабатывать ешшо до переключения


 
ZEE   (2003-09-11 10:54) [3]

var i:integer = 0;// глобальная переменная
...
procedure TForm1.PageControl1Change(Sender: TObject);
begin
if (TPageControl(Sender).TabIndex=2)and(not MyLAbel.Value) then
begin
TPageControl(Sender).TabIndex:=i;
end;
i:=TPageControl(Sender).TabIndex;
end;


 
ЮРИЙ_К   (2003-09-11 11:12) [4]

Ага, ну это легкий способ обмана, точнее не пускать и все. Мне все-же интересно, почему AllowChange не работает? Но всеравно спасибо 8-).


 
ЮРИЙ_К   (2003-09-11 11:13) [5]

Ага, ну это легкий способ обмана, точнее не пускать и все. Мне все-же интересно, почему AllowChange не работает? Но всеравно спасибо 8-).


 
Кщд   (2003-09-11 11:18) [6]

а у TabSheet.Enabled выставлять?... не помогает?


 
ZEE   (2003-09-11 11:18) [7]

> почему AllowChange не работает?
это действительно странно. вообщето он работает только уже после того как TabIndex изенился (и соотв. дальше Change перестает работать), а надо бы чтоб проверял до изменения...
если очень надо OnChanging юзать, то надо покапться в исходниках, что-нить там поменять (например наследника своего сделать) и дальше пользовать ...


 
ZEE   (2003-09-11 11:19) [8]


> Кщд (11.09.03 11:18) [6]
> а у TabSheet.Enabled выставлять?... не помогает?

это помогает "задисаблить" сам TabSheet, а не кнопочку по кот. на него попадаешь


 
Rol   (2003-09-11 11:22) [9]

>ZEE
мои извинения. невнимательность.


 
AlexSV   (2003-09-11 11:54) [10]

> ЮРИЙ_К © (11.09.03 11:13) [5]
> почему AllowChange не работает?


Потому что при установке AllowChange в False Вы не сможете выйти из активного TabSheet.
Дословно(из help"a): Use an OnChanging event handler to prevent the user from leaving a tab setting until certain conditions have been met.
Так что вариант > ZEE © (11.09.03 10:54) [3] это не легкий способ обмана а вариант решения вопроса.


 
ЮРИЙ_К   (2003-09-15 08:49) [11]

Наверное это и правильно. С двуия закладками - все работало, почему-то. Как сталкнулся с тремя - обломс 8-(



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

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

Наверх




Память: 0.46 MB
Время: 0.009 c
3-82106
denis24
2003-09-04 19:47
2003.09.25
adotable.conectionstring


8-82343
KoNDoR
2003-05-29 21:22
2003.09.25
Триангулированая поверхность


1-82184
BustaBoss
2003-09-12 05:34
2003.09.25
Передача данных


14-82485
Igorek
2003-09-06 18:55
2003.09.25
Опрос: какой секс предпочитают программисты?


3-82119
dream
2003-09-04 15:47
2003.09.25
Каким образом можно работать с 2 файлами баз данных ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский