|
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();
}
|