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
[52771] Re:TMemo에서 CaretPos 사용시 문제가... - 원인은?
장성호 [nasilso] 2676 읽음    2008-03-19 13:10
TMemo의 CaretPos는 님이 말한 것처럼 나올수 있습니다.

왜냐하면 TMemo는 Win32의 EDIT를 가지고 만들어 놓은 것이라서

EDIT와 관련된 기능은 EDIT에 종속적일수 밖에 없습니다.

내용은 VCL에 TStrings를 이용했기때문에 더 많이 들어가지만....

EDIT의 최대 길이는 64KByte 즉 65536Byte
TMemo에서 CaretPos의 위치가 65536을 넘어가면 이상한 -값이 나올것입니다.

해결은? 잘모르겠구요

보통 64K이상 될때는 RichEdit를 많이 씁니다.
문론 RichEdit도 한계가 있습니다.

참고
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=2


그럼..

★래미★ 님이 쓰신 글 :
: 메모에서 커서 이동에 따라 상태바에 현재 위치를 표시하고 싶은데요
: 찾아보니 CaretPos 라는 속성이 있네요
: 적용 잘 되는데,, CaretPos.y가 1795줄 이상 넘어가면 다시 1부터 되는데
: 어디가 문제일까요?
: 다음 단계로 넘어가면서 좌표값이 이렇습니다  y=1795   x=-65535
: x,y가 long형 아닌가요? ㅠㅠ
:
:
: void __fastcall TDBEditForm::Memo1MouseMove(TObject *Sender,
:       TShiftState Shift, int X, int Y)
: {
:     StatusBar1->SimpleText = "Line" + AnsiString(Memo1->CaretPos.y + 1) + "  Col" + AnsiString(Memo1->CaretPos.x + 1);
: }

+ -

관련 글 리스트
52768 TMemo에서 CaretPos 사용시 문제가... ★래미★ 2160 2008/03/19
52780     답변 감사합니다 ★래미★ 2022 2008/03/19
52783         Re:답변 감사합니다 장성호 2631 2008/03/19
52786             Re:도움말씀 정말 감사드립니다, 오늘의 팁으로 강추해요^-^ ★래미★ 2309 2008/03/19
52771     Re:TMemo에서 CaretPos 사용시 문제가... - 원인은? 장성호 2676 2008/03/19
52769     Re:TMemo에서 CaretPos 사용시 문제가... 아루스 2220 2008/03/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.