Вниз
Скачать: CL | DM;

PageControl   Найти похожие ветки 

 
SashaNevid   (2004-05-10 09:08) [0]

Подскажите, можно ли сделать так и как это сделать:

Использую PageControl, на нём несколько страниц (TabSheet). Я хочу, чтобы при запуске была активизирована только первая страница, все другие были видны, но ни одну из них нельзя было бы активизировать, то есть расположить поверх остальных.

Свойство enabled для tabsheet не подходит, оно только не даёт работать с компонентами, которые располагаются на странице.


 
Sergey Masloff   (2004-05-10 09:17) [1]

procedure TForm1.PageControl1Changing(Sender: TObject;
 var AllowChange: Boolean);

Пояснения нужны?


 
SashaNevid   (2004-05-10 13:29) [2]

Да.Очень прошу.


 
KilkennyCat ©   (2004-05-10 13:32) [3]

AllowChange := false;


 
Mim1 ©   (2004-05-10 13:37) [4]

ROTFL


 
SashaNevid   (2004-05-10 17:08) [5]

Я понимаю, что из-за моих вопросов некоторые могут по полу пыль собирать, но...

Ну сделал я следующее:

procedure TForm1.PageControl1Changing(Sender: TObject;
 var AllowChange: Boolean);
begin
AllowChange := false;
end;

Да, получилось. Теперь нельзя переключать. Круто!!! А как мне сделать так, чтобы при нажатии на кнопку, переключать стало можно? Я пытался, но не получается. Опыта мало...

Например, пишу

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
TForm1.PageControl1Changing(true);
end;

Выводит ошибку.
Пожалуйста, напишите как правильно.


 
Плохиш   (2004-05-10 17:18) [6]


> procedure TForm1.PageControl1Changing(Sender: TObject;
>  var AllowChange: Boolean);
> begin

 if кнопканажата then AllowChange := true
 else

> AllowChange := false;
> end;


 
Mim1 ©   (2004-05-10 17:20) [7]

[5] SashaNevid   (10.05.04 17:08)


> Например, пишу
>
> procedure TForm1.BitBtn1Click(Sender: TObject);
> begin
> TForm1.PageControl1Changing(true);
> end;


Такое делать точно бессмыслено :)
После коментария помогать не хочется, пойду еще пыль пособираю.


 
Erik ©   (2004-05-10 17:21) [8]

Даже проще
AllowChange := кнопканажата;


 
Яичница ©   (2004-05-10 17:21) [9]

Можно попробовать так:


implementation
{$R *.dfm}
var _AllowChange:boolean=false;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
_AllowChange:=not _AllowChange;
end;

procedure TForm1.PageControl1Changing(Sender: TObject;
 var AllowChange: Boolean);
begin
AllowChange := _AllowChange;
end;


 
KilkennyCat ©   (2004-05-10 17:22) [10]

Э нет, так нельзя. Во-первых, Вы даже параметры не все передали, а во-вторых - PageControl1Changing - это событие, Вы должны его обрабатывать, а не вызывать. Хотя, можно, конечно... но некрасиво.
....
public
  MognoIliNet : boolean;
...

procedure TForm1.PageControl1Changing(Sender: TObject;
 var AllowChange: Boolean);
begin
 AllowChange := MognoIliNet;
end;
теперь спокойно меняете значение MognoIliNet на True\False когда надо и где надо.

например:

procedure TForm1.Button1Click(Sender: TObject);
begin
 MognoIliNet := true;
end;



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

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



Память: 0.47 MB
Время: 0.025 c
14-1083747350
Maxim Vetera
2004-05-05 12:55
2004.05.23
Google нас обманывает?


14-1083533521
Blackgrin
2004-05-03 01:32
2004.05.23
Pocket PC


4-1081233002
S@shka
2004-04-06 10:30
2004.05.23
Определение загрузки ПК


14-1083656290
GanibalLector
2004-05-04 11:38
2004.05.23
ДОС версии ниже 6.22.


7-1081378840
nec
2004-04-08 03:00
2004.05.23
Чтение и запись в COM-порт в Win XP/NT




   Наверх