C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[2783] Re:[질문]추가 질문
박지훈.임프 [cbuilder] 4010 읽음    2000-01-19 00:00
오진욱 님이 쓰신 글 :
: 방금 질문 올렸던 오진욱입니다...
:
: 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 속성을 사용하면 그 설정방법에 따라 패어런트 컨트롤이 리사이즈될 때 그에 따라서
어떻게 위치와 사이즈를 변경할지의 방식을 정해줄 수 있습니다.

그럼 참고하시길...

+ -

관련 글 리스트
2775 [질문]추가 질문 오진욱 3784 2000/01/19
2783     Re:[질문]추가 질문 박지훈.임프 4010 2000/01/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.