How to Hide the Tabs of the TPageControl Delphi control_Delphi_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Delphi > How to Hide the Tabs of the TPageControl Delphi control

How to Hide the Tabs of the TPageControl Delphi control

 2011/7/26 8:00:32    程序员俱乐部  我要评论(0)
  • 摘要:TheTPageControlDelphicontroldisplaysasetofpagesusedtomakeamultiplepagedialogbox.Eachpage,atabsheet,hostsitsowncontrols.Theuserselectsapage,i.e.makesitvisible,byclickingthepage’stabthatappearsatthetopofthecontrol
  • 标签:ide Delphi

The TPageControl Delphi control displays a set of pages used to make a multiple page dialog box. Each page, a tab sheet, hosts its own controls. The user selects a page, i.e. makes it visible, by clicking the page’s tab that appears at the top of the control.

Hiding PageControl Tabs

If you need to create a wizard-like user interface where you have "Next" and "Previous" buttons "moving" a user forward and backward through a set of pages (dialogs), you might want to hide the tabs of the PageControl and thus disallow selecting a particular page by the mouse.

The trick is in setting the TabVisible property to false for each of the sheets (TTabSheet object) of the page control.

Note: Activating the page by using either the ActivePage or the ActivePageIndex PageControl properties will NOT raise the OnChange and OnChanging events.

To programmatically set the active page use the SelectNextPage method.

//Hide PageControl Tabs
var
  page : integer;
begin
  for page := 0 to PageControl1.PageCount - 1 do
  begin
    PageControl1.Pages[page].TabVisible := false;
  end;

  //select the first tab
  PageControl1.ActivePageIndex := 0;
  (*
  Or set Active Page directly
  PageControl1.ActivePage := TabSheet1;

  Note: the above two do NOT raise the
        OnChanging and OnChange events
  *)

end;

procedure TForm1.PageControl1Changing(
  Sender: TObject;
  var AllowChange: Boolean) ;
begin
  //no change if on the last page
  AllowChange := PageControl1.ActivePageIndex < -1 + PageControl1.PageCount;
end;

//Select "Previous" Tab
procedure TForm1.PreviousPageButtonClick(Sender: TObject) ;
begin
  PageControl1.SelectNextPage(false,false) ;
end;

//Select "Next" Tab
procedure TForm1.NextPageButtonClick(Sender: TObject) ;
begin
  PageControl1.SelectNextPage(true,false) ;
end;
发表评论
用户名: 匿名