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
[66477] Re:RichEdit 에 한줄에 표시되는 최대 글자수에 제한이 있나요?
빌더 [] 1680 읽음    2012-03-02 17:03
Neit 님이 쓰신 글 :
: 임의의 text 파일을 열어서 richedit 에 올린후, 색상,폰트등을 입혀야 할일이 있는데요.
:
: 한라인에 글자수가 6000 개정도 되는 내용을 add 하게 되면
:
: 2줄로 표시가 되는데요.
:
: edit/StringGrid 같은데는 6000개 글자가 한라인에 표시가 가능한데요..
:
: RichEdit 컨트롤에서는 안됩니다.
:
: 고수님들 조언 부탁 드립니다.





답변:


Rich Edit에서 한 라인에 출력 가능한 글자 수는 Rich Edit 콘트롤 내부에서 사용하는 Device Context에 의해서
제한을 받게 됩니다. 폰트의 크기에 따라서 출력 가능한 글자의 수도 바뀐다는 거죠. 폰트 사이즈를 4 정도로
작게해서 해보세요.

디폴트 폰트 사이즈인 8 정도에서도 한 라인에 6천개 문자 이상을 표시하고자 한다면...

아래와 같은 식으로... Rich Edit 콘트롤 내부에서 사용하는 Device Context의 Width를 바꿔 줘야 합니다.

...

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    HDC dc = GetDC(RichEdit1->Handle);
    int dcWidth = 800000;

    SendMessage(RichEdit1->Handle, EM_SETTARGETDEVICE, (WPARAM)dc, dcWidth);

    String s;

    RichEdit1->Lines->Clear();

    // 6,000 개의 문자생성
    for(int i = 0; i < 600; i++)
    {
        s = s + "1234567890";
    }

    RichEdit1->Lines->Add(s);

}




...

+ -

관련 글 리스트
66474 RichEdit 에 한줄에 표시되는 최대 글자수에 제한이 있나요? Neit 1141 2012/03/02
66477     Re:RichEdit 에 한줄에 표시되는 최대 글자수에 제한이 있나요? 빌더 1680 2012/03/02
66482         Re:Re:RichEdit 에 한줄에 표시되는 최대 글자수에 제한이 있나요? 인디 1263 2012/03/02
66480         Re:Re:RichEdit 에 한줄에 표시되는 최대 글자수에 제한이 있나요? Neit 1223 2012/03/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.