|
오진욱 님이 쓰신 글 :
: 방금 질문 올렸던 오진욱입니다...
:
: Form에 여러개의 컴포넌트들이 있습니다..
: 예를 들어 Edit 나 Memo등등...
: Form의 사이즈 변화에 따라 그 Form위에 있는 컴포넌트들 까지...
: 동일한 비율로 커졌다 작아졌다 할 수 있게 지정할 수 있는 속성이 있는지요...
:
: 감사 합니다..
임펠리테리입니다.
폼이 리사이즈될 때마다 자동으로 컨트롤의 양쪽이나 아래위 간격을 맞추려면 컨트롤의 Anchors
속성을 세팅해주면 됩니다. 이 Anchors 속성은 Set으로 되어있어서, 오브젝트 인스펙터에서 이 속성의
왼쪽에 나타나는 + 모양을 클릭하면 주루룩 펼쳐지는데, akLeft,akTop,akRight,akBottom 등 네개의 값으로
구성되어 있습니다. 이 값들은 각각, Parent 컨트롤의 동일한 edge와의 간격을 유지할지의 여부를
의미합니다. 말이 좀 어렵지요?
예를 들어서, 폼위에 패널을 하나 올려놓읍시다. 이때 패널의 Anchors 속성을 보면, 디폴트로 Left와
Top만이 true로 설정되어 있습니다. 이렇게 설정된 상태에서는 폼이 리사이즈될 때 폼과 패널 사이의
왼쪽과 위쪽 간격만이 유지됩니다. 폼이 리사이즈되어도 패널과 폼의 왼쪽/아래쪽 간격은 일정하게
유지되지 않습니다.
이 상태에서 Anchors 속성의 akRight를 설정해봅시다. 폼을 리사이즈해보면, 아래쪽은 변함이 없지만,
폼이 리사이즈됨에 따라 패널의 오른쪽이 따라 늘어나서 결과적으로 폼과 패널의 오른쪽 간격이
그대로 유지됨을 알 수 있습니다. 다시 한번 Anchors 의 akBottom을 설정하면, 이번엔 아래쪽의 간격도
일정하게 유지되면서 패널의 크기가 따라 변하죠.
한번만 더. 이번엔 akLeft와 akTop의 설정을 false로 세팅해놓고 다시 폼을 리사이즈해보세요.
패널과 폼 사이의 아래/오른쪽 간격은 유지되지만 왼쪽/위 간격은 폼 사이즈에 따라 움직여서,
결과적으로는 패널이 폼의 오른쪽 아래를 기준으로 따라 움직이는 것처럼 됩니다.
이렇게, Anchors 속성을 사용하면 그 설정방법에 따라 패어런트 컨트롤이 리사이즈될 때 그에 따라서
어떻게 위치와 사이즈를 변경할지의 방식을 정해줄 수 있습니다.
그럼 참고하시길...
|