-2

我需要一个TPageControl类似StartMarginin的属性TTabSet。有谁知道,我怎样才能StartMargin在其中创建财产TPageControl

对于不熟悉StartMargin的任何人,以下是其文档中的相关文本:

确定第一个选项卡从选项卡集控件的左边缘出现的距离(以像素为单位)。

4

2 回答 2

1

如果我理解正确,那么您可以使用标准控件执行此操作。

在对象检查器中设置 TPageControl --> Margins --> Left 说 50。然后将 AlignWithmargins 设置为 True。

同样适用于 TTabSheet

或者你需要一些不同的东西?

编辑参考您的评论:同样适用于 TTabSet:设置左边距、AlignWithMargins 并在面板上对齐顶部。这会给你你的效果。但是现在您必须管理自己的页面可见性和页面切换:(

于 2012-07-04T17:58:34.707 回答
0

或者,对于多版本解决方案:

uses 
  ..., 
  CommCtrl; 

type 
  TPageControl = class(ComCtrls.TPageControl) 
  private 
    procedure TCMAdjustRect(var Msg: TMessage); message TCM_ADJUSTRECT; 
  end; 

  TForm1 = class(TForm) 
    ... 
  end; 

... 

procedure TPageControl.TCMAdjustRect(var Msg: TMessage); 
begin 
  inherited; 
  if Msg.WParam = 0 then
    Inc(PRect(Msg.LParam)^.Left, 50)
  else
    Dec(PRect(Msg.LParam)^.Left, 50);
end;
于 2012-07-04T21:25:21.110 回答