Вниз
Скачать: 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
9-1073419589
Stalker_23b
2004-01-06 23:06
2004.05.23
Исповедь домашнего игромейкера


14-1083606639
Ricks
2004-05-03 21:50
2004.05.23
Компоненты в стиле Office2003


1-1083943549
DDA
2004-05-07 19:25
2004.05.23
Result=PChar(s)


6-1078932343
AlexeyITN
2004-03-10 18:25
2004.05.23
Опять NET SEND


3-1083132416
Mishel
2004-04-28 10:06
2004.05.23
триггер Interbase -> триггер MSSQL 2000




   Наверх