TPageControl带有圆角每个标签页

时间:2014-02-14 18:31:41

标签: delphi

我想通过TPagecontrols改进我的应用程序的外观,使用圆形角,就像DELPHI IDE本身使用的那样。我怎样才能做到这一点 ????

sample from DELPHI XE GUI

1 个答案:

答案 0 :(得分:3)

Delphi IDE使用TTabSet组件。 TPageControl和TTabSet之间的一个很大区别是TTabSet不会像TPageControl那样在控件的不同视图之间自动更改。单击选项卡时,需要手动更新显示。

您可以覆盖TPageControl选项卡的绘制,使它们看起来像TTabSet选项卡。但是,您也可以轻松隐藏页面控件上的选项卡,并添加TTabSet控件以在PageControl的页面之间切换。

这是一些用于执行此操作的示例代码。在表单中,将页面控件中的任何页面添加到TabSet,并隐藏页面控件上的各个选项卡。然后在TabSet OnChange事件中切换PageControl上的活动页面。

procedure TForm3.FormCreate(Sender: TObject);
var
  i: integer;
begin

  for i := 0 to PageControl1.PageCount - 1 do
  begin
    TabSet1.Tabs.Add(PageControl1.Pages[i].Caption);
    PageControl1.Pages[i].TabVisible := false;
  end;

  TabSet1.TabIndex := 0;

end;

procedure TForm3.TabSet1Change(Sender: TObject; NewTab: Integer;
  var AllowChange: Boolean);
begin
  PageControl1.ActivePageIndex := NewTab;
end;