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
[15250] Re:[Print]Canvas->TextOut()에서 개행문자는 어떻게 처리하죠?
김상구.패패루 [] 2617 읽음    2002-02-04 15:54
TCanvas->Handle이 DC입니다.
이 DC를 이용해서 API로 처리하시면 됩니다.
사용하실 API는 DrawText입니다.
옵션 중에 DT_CALCRECT를 사용하시면 실제 표시되는데 필요한 RECT의 정보를 얻어올 수 있고..
자세한건 도움말을 참조하세요..


c인 님이 쓰신 글 :
: RichEdit에 있는 문자를 출력하려고 하는데요.
: 물론 리치에디트에 Print()란 함수가 있지만 다른 선을 긋고 난다음 에디트에 있는 내용을 출력해야 합니다.
: 그런데 TextOut함수는 개행문자(\r\n)을 인식하지 않고 특수문자로 찍어 버리더군요..라인변경이 없습니다. 그래서 함수를 만들어서 \r\n일때 StringList에 Add한다음 TextOut(x,y,StringList->Strings[i])을 여러개 찍을려구여~!
: 그런데 문제는 머리가 나빠서 \r\n을 잘 못짜르겠군요..ㅠㅠ
: 문자열 짜르는 좋은 함수나 클래스 없을까요?? 아님 소스를 좀 봐주시던가요..(넘뻔뻔한거 같아 죄송)
:
: void __fastcall GetMsg(TStringList *StringList, TRichEdit *RichEdit)
: {
:     int j = 0;
:     String Text = RichEdit->Text;
:
:     for(int i = 1; ; i++){
:         String a=Text.SubString(i, 1);
:         String b=Text.SubString(i, 2);
:
:         if(Text.SubString(i, 2) == NULL)break;
:    //     if(RichEdit->Lines->Count == j)break;
:
:         if(Text.SubString(i, 2) == "\r\n"){
:             ShowMessage(Text.SubString(1, i - 1));
:             StringList->Add(Text.SubString(1, i - 1));
:             String c = Text.SubString(i + 2, Text.Length());
:             Text = Text.SubString(i + 2, Text.Length());
:             j++;
:             i = 0;
:         }
:     }
: }
: void __fastcall TForm1::PrintMsg(String Subject, String MsgID, String From, String To, TRichEdit *RichEdit)
: {
:     TStringList *PrintBuf = new TStringList;  
:     TPrinter *p = Printer();
:
:     p->Title = "RainbowB"; //Document Title
:
:     p->BeginDoc(); //출력 시작
:
:     for(int i = 0; i < PrintBuf->Count ; i++){
:         p->Canvas->TextOut(XO * 3, (YO * (((i + 1) * 2) + 1)) - 5, PrintBuf->Strings[i]);
:     }
:     p->EndDoc();
: }

+ -

관련 글 리스트
15249 [Print]Canvas->TextOut()에서 개행문자는 어떻게 처리하죠? c인 2527 2002/02/04
15250     Re:[Print]Canvas->TextOut()에서 개행문자는 어떻게 처리하죠? 김상구.패패루 2617 2002/02/04
15270         Re:Re:[Print]Canvas->TextOut()에서 개행문자는 어떻게 처리하죠? c인 1836 2002/02/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.