我需要一个TPageControl
类似StartMargin
in的属性TTabSet
。有谁知道,我怎样才能StartMargin
在其中创建财产TPageControl
?
对于不熟悉StartMargin的任何人,以下是其文档中的相关文本:
确定第一个选项卡从选项卡集控件的左边缘出现的距离(以像素为单位)。
我需要一个TPageControl
类似StartMargin
in的属性TTabSet
。有谁知道,我怎样才能StartMargin
在其中创建财产TPageControl
?
对于不熟悉StartMargin的任何人,以下是其文档中的相关文本:
确定第一个选项卡从选项卡集控件的左边缘出现的距离(以像素为单位)。
如果我理解正确,那么您可以使用标准控件执行此操作。
在对象检查器中设置 TPageControl --> Margins --> Left 说 50。然后将 AlignWithmargins 设置为 True。
同样适用于 TTabSheet
或者你需要一些不同的东西?
编辑参考您的评论:同样适用于 TTabSet:设置左边距、AlignWithMargins 并在面板上对齐顶部。这会给你你的效果。但是现在您必须管理自己的页面可见性和页面切换:(
或者,对于多版本解决方案:
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;