RAD Studio VCL Reference
|
Specifies the margins for the control.
property Margins: TMargins;
__property TMargins Margins;
Use the Margins property to set the margins for the control.
If AlignWithMargins is true, then the Margins property of the control governs the spacing relative to other controls that are aligned with this one. The controls are not allowed to be closer than the spacing specified in Margins.
C++ Examples:
// //This example demostrates the usage of Margins and AlignWithMargins //properties. Note that Margins will only work when AlignWithMargins //is set to true and Align is not alNone. // #define TopPanelMargin 10 #define BottomPanelMargin 20 TPanel *TopPanel, *BottomPanel; void __fastcall TForm2::FormCreate(TObject *Sender) { /* Create a new panel and align it to top */ TopPanel = new TPanel(this); TopPanel->Parent = this; TopPanel->Align = alTop; TopPanel->Height = (ClientHeight / 2); /* Create a new panel and align it to the remaining client size */ BottomPanel = new TPanel(this); BottomPanel->Parent = this; BottomPanel->Align = alClient; /* Set Top panel margins */ /* Note: Margins will not have an effect if Align is alNone */ TopPanel->Margins->SetBounds(TopPanelMargin, TopPanelMargin, TopPanelMargin, TopPanelMargin); TopPanel->AlignWithMargins = true; TopPanel->Caption = "TopPanel"; /* Set Top Bottom margins */ /* Note: Margins will not have an effect if Align is alNone */ BottomPanel->Margins->SetBounds(BottomPanelMargin, BottomPanelMargin, BottomPanelMargin, BottomPanelMargin); BottomPanel->AlignWithMargins = true; BottomPanel->Caption = "BottomPanel"; if ((TopPanel->Top != TopPanelMargin) || (TopPanel->Left != TopPanelMargin) || (TopPanel->Width != (ClientWidth - (TopPanelMargin * 2))) || (BottomPanel->Top != (TopPanel->Height + (TopPanelMargin * 2) + BottomPanelMargin)) || (BottomPanel->Left != BottomPanelMargin) || (BottomPanel->Width != (ClientWidth - (BottomPanelMargin * 2)))) { MessageDlg(AnsiString( "This should not happen! Position and size are ")+ "calculated relative to the margins", mtError, TMsgDlgButtons() << mbOK, 0); } }
Delphi Examples:
{ This example demostrates the usage of Margins and AlignWithMargins properties. Note that Margins will only work when AlignWithMargins is set to true and Align is not alNone. } const TopPanelMargin = 10; BottomPanelMargin = 30; var TopPanel, BottomPanel : TPanel; procedure TForm2.FormCreate(Sender: TObject); begin { Create a new panel and align it to top } TopPanel := TPanel.Create(Self); TopPanel.Parent := Self; TopPanel.Align := alTop; TopPanel.Height := (ClientHeight div 2); { Create a new panel and align it to the remaining client size } BottomPanel := TPanel.Create(Self); BottomPanel.Parent := Self; BottomPanel.Align := alClient; { Set Top panel margins } { Note: Margins will not have an effect if Align is alNone } TopPanel.Margins.SetBounds(TopPanelMargin, TopPanelMargin, TopPanelMargin, TopPanelMargin); TopPanel.AlignWithMargins := true; TopPanel.Caption:= 'TopPanel'; { Set Bottom panel margins } { Note: Margins will not have an effect if Align is alNone } BottomPanel.Margins.SetBounds(BottomPanelMargin, BottomPanelMargin, BottomPanelMargin, BottomPanelMargin); BottomPanel.AlignWithMargins := true; BottomPanel.Caption:= 'BottomPanel'; if (TopPanel.Top <> TopPanelMargin) or (TopPanel.Left <> TopPanelMargin) or (TopPanel.Width <> (ClientWidth - (TopPanelMargin * 2))) or (BottomPanel.Top <> (TopPanel.Height + (TopPanelMargin * 2) + BottomPanelMargin)) or (BottomPanel.Left <> BottomPanelMargin) or (BottomPanel.Width <> (ClientWidth - (BottomPanelMargin * 2))) then MessageDlg('This should not happen! Position and size are ' + 'calculated relative to the margins', mtError, [mbOK], 0); end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|