我需要TPageControl
中的StartMargin
属性,例如TTabSet
中的StartMargin
。有谁有任何想法,如何在TPageControl
中创建{{1}}属性?
对于不熟悉StartMargin的人,以下是其文档中的相关文字:
确定第一个选项卡在选项卡集控件的左边缘显示的距离(以像素为单位)。
答案 0 :(得分:1)
如果我理解正确,那么您可以使用标准控件执行此操作。
在对象检查器中设置TPageControl - >边距 - >剩下来说50.然后将AlignWithmargins设置为True。
同样适用于TTabSheet
或者你需要不同的东西吗?
编辑参考评论: 这同样适用于TTabSet:设置左边距,AlignWithMargins并在面板上对齐顶部。 这会给你效果。但现在您必须管理自己的页面可见性和页面切换:(
答案 1 :(得分: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;