TPageControl / TTabSheet定位Delphi XE

时间:2012-05-30 13:50:55

标签: delphi delphi-xe

我在TPageControl上有一些这样的TTabSheet。

Tab1 Tab2 Tab3 Tab4

但我希望我的第一个标签开始具体位置等等;

      Tab1 Tab2 Tab3 Tab4

如何在Delphi XE中设置起始位置?和鼠标点击将正常工作。

2 个答案:

答案 0 :(得分:2)

最简单的解决方案是在第一个标签的标题前面添加空格(参见下图中的第二个示例)。

但我会选择通过实施PageControl.OnChanging事件来插入无法设置活动的虚拟标签(请参阅第一个示例),如下所示:

procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  AllowChange := not PtInRect(PageControl1.TabRect(0),
    PageControl1.ScreenToClient(Mouse.CursorPos));
end;

Padding on tab caption

答案 1 :(得分:0)

您可以查看Raize控件。他们的标签页控件有很大的灵活性,但我不知道他们是否做了你想要的。他们有一个很好的可下载的演示程序,你可以玩它,看看他们是否做你想要的。如果你找不到你想要的东西,你也可以给他们发电子邮件询问是否可能。

这不是一个免费的图书馆,但是,IMO,非常物有所值。我们经常使用Raize控件,并对它们非常满意。