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

델파이 Q&A
Delphi Programming Q&A
[9618] Re:(질문) TMemo의 높이(Height)조절...
박지훈.임프 [cbuilder] 901 읽음    2004-06-15 22:38
아래 시빌리언님도 좋은 답변을 해주셨지만... ^^;;
API에서 관련 루틴을 보셨다는데, 자동 리사이즈 관련으로 지원하는 것은 메모가 아니라 리치에디트입니다.
리치에디트로 바꾸신다고 간주하고 답변을 써보지요.

말씀하신 API는 아마도 EN_REQUESTRESIZE 메시지일 것인데, 사실 이 메시지를 쓸 필요도 없습니다.
VCL의 리치에디트 자체에 이 메시지가 처리되는 이벤트가 있기 때문에 이 이벤트를 쓰는 것이 더 편합니다.
(직접 메시지를 처리하려면 리치에디트에서 메시지를 받아야 하므로 상속받아 컴포넌트를 만들든지 아니면
윈도우프로시저를 가로채는 방법밖에 없으므로 더 복잡해지기만 하지요)

EN_REQUESTRESIZE 메시지를 래핑한 이벤트는 OnResizeRequest 이벤트입니다.
이 이벤트는 내용을 모두 표시하기 위해 필요한 리치에디트의 크기가 변경될 때마다 발생하는데, 필요한
크기가 TRect 타입으로 넘어오므로 편리합니다. 이 TRect 타입 인자를 그냥 리치에디트의 BoundsRect에
넣어버리면 원하시는대로 동작합니다.

그러니까 요약하자면 OnResizeRequest 이벤트의 핸들러에 다음과 같이 한줄만 코딩하면 됩니다.
RichEdit1.BoundsRect := Rect;

그럼...


손동섭 님이 쓰신 글 :
: TMemo에 문자를 입력하면 입력되는 라인만큼
:
: TMemo의 높이를 라인에 맞게끔 늘려주고 싶습니다.
:
: 이전에 어디에서 API호출하여서 처리하는 것을 보았는데
:
: 찾을 수가 없네요??
:
: 고수님들의 조언부탁합니다.

+ -

관련 글 리스트
9599 (질문) TMemo의 높이(Height)조절... 손동섭 693 2004/06/12
9618     Re:(질문) TMemo의 높이(Height)조절... 박지훈.임프 901 2004/06/15
9600     Re:(질문) TMemo의 높이(Height)조절... civilian 930 2004/06/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.