Как я могу установить текущую страницу TPageControl? - PullRequest
7 голосов
/ 26 мая 2011

Я использую компонент управления страницей, и мне нужно добавить кнопку и щелкнуть ее, чтобы перейти на указанную страницу.

Как мне это сделать, пожалуйста?

Ответы [ 3 ]

13 голосов
/ 26 мая 2011

Добавьте кнопку в форму и напишите обработчик события OnClick следующим образом:

procedure TMyForm.Button1Click(Sender: TObject);
begin
  PageControl1.ActivePage := TabSheet1;
end;
8 голосов
/ 26 мая 2011

Вы можете использовать ActivePageIndex:

procedure TForm1.Button1Click(Sender: TObject);
begin
  PageControl1.ActivePageIndex := 0;
end;
0 голосов
/ 28 марта 2019

Могу ли я просто добавить, что вы не можете установить активную страницу в событии OnChange (я пытался целую вечность!).Любые необходимые проверки должны быть выполнены в событии OnChanging, а затем установите для переменной Allowchange значение true или false соответственно:

procedure Tfrm_AspireParams.PC_OptionsChanging(Sender: TObject;
  var AllowChange: Boolean);
begin
 AllowChange := true;
 if fActivated then
 begin
   if BBtn_Timesheets_Save.Enabled then  // They have not saved changes on this tab.
   begin
     messagedlg('Please save the page first', mtInformation, [mbOK], 0);
     AllowChange := False;
   end;
 end;

end;
...