Align과 Anchors외에 Align with Margin 을 함께 사용해야 작업이 용이합니다.
컨셉적으로 가능성을 열어 놓기는 하였는데,
현실에서는 노가다성 테스트를 필요할 것 같습니다.
Anchors는 상당히 훌륭합니다.
예를 들면
Align := alclinet 대신에
anchors := [akTop, akLeft, akRight, akBottom]으로 설정하면 동일한 효과를 볼 수 있습니다.
아래는 단순한 dfm 소스입니다. (Form Designer에서 마우스 오른쪽 View as Source, 복사 붙여 넣기 후 View as Form)
크기를 조절해 보세요. 형태가 유지됩니다.
Object Inspector에서 Align, Anchors, AlignWithMargin, Margins 속성을 조절해 보시면 기능을 이해할 수 있습니다.
object Form32: TForm32
Left = 0
Top = 0
Caption = 'Form32'
ClientHeight = 186
ClientWidth = 278
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
DesignSize = (
278
186)
PixelsPerInch = 96
TextHeight = 13
object Memo1: TMemo
Left = 3
Top = 34
Width = 267
Height = 144
Anchors = [akLeft, akTop, akRight, akBottom]
ImeName = 'Microsoft IME 2010'
Lines.Strings = (
'Memo1')
TabOrder = 0
end
object Button1: TButton
AlignWithMargins = True
Left = 5
Top = 5
Width = 268
Height = 25
Margins.Left = 5
Margins.Top = 5
Margins.Right = 5
Margins.Bottom = 5
Align = alTop
Caption = 'Button1'
TabOrder = 1
ExplicitLeft = -2
ExplicitTop = 3
ExplicitWidth = 272
end
end
빌더초짜 님이 쓰신 글 :
: 지금 제가 쓰고 있는 프로그램에서
: FormCreate에서 해상도를 고정시켰습니다 1280*1024로요.
: 근데 해상도를 바꿔서 다른 모니터에서 띄워야 하는 상황이 왔습니다.
: scaleby로 하면 한쪽만 커지더군요. 수평 아님 수직
:
: 폼크기가 커지면 버튼크기까지 다 알맞게 커질순 없을까요?
: 그 창에 맞춰서요.
: 어떤 글을 보니 Align과 Anchor를 잘 조정하면 된다고 하는데 그 잘 조정 <- 이 어떻게 하는지 모르겠습니다 ㅠㅠ
: 각 컴포넌트별 지정을 해줘야 되는건지.. 궁금합니다..
: 도와주세요!!
|