RichEdit 는 rtf 포멧으로 저장 됩니다.
이를 StringList 에 읽으면 marking 된 text format 이 plain text 형식으로 올라오게 되죠.
결국 RichEdit 관련 라이브러리를 사용하시든지(뭐가 있는지 저도 잘 모르겠군요)
그냥 TRichEdit 를 사용하시는것이 어떠실까 합니다.
int pc = 0;
TColor C[] = {clRed,clBlue};
for(int i=0;iLines->Count;i++)
{
RichEdit1->SelStart = pc;
RichEdit1->SelLength = RichEdit1->Lines->Strings[i].Length();
RichEdit1->SelAttributes->Color = C[i%2];
pc += RichEdit1->Lines->Strings[i].Length()+1;
}
RichEdit1->Lines->SaveToFile("c:\\temp\\test.rtf");
RichEdit2->Lines->LoadFromFile("c:\\temp\\test.rtf");
while(RichEdit2->Lines->Count>1)
{
RichEdit2->Lines->Delete(1);
}
위의 코드는 RichEdit2로 다시 읽어서 첫줄만 남긴것 입니다.
응용하시면 필요한 부분 남기실 수 있지 않을까 합니다.
수고하세요..
이승엽 님이 쓰신 글 :
: 1.우선 txt 파일에서 richedit에 불러와서
:
: 원하는 줄에 글자 색을 바꾸고 현시를 해줍니다.
:
: 2. 그 보이는 화면을 파일로 저장을 합니다. (txt)
: -> 이렇게 하면 기존 txt에 폰트정보및 색깔 정보가 txt파일에 들어가서 기존1번에서 만든 파일과 다릅니다.
:
: 3. 2번에서 저장된 파일을 원하는 줄을 불러옵니다.
:
: 1,2,3 이렇게 하기를 원하는데 제대로 구현이 되지 않네요.
:
: 아래와 같이 하면 txt가 불러와서 글자에 색깔이 입혀지고 저장된 후 불러오는거 조차 되지 않네요..
:
:
: 알려주시면 정말 감사하겠습니다.
:
:
: TStringList *MessageF2_Mpage = new TStringList;
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: MessageF2_Mpage->LoadFromFile("D:\\F2\\Mpage.txt");
: //RichEdit1->Lines->LoadFromFile("D:\\F2\\Mpage.txt");
: RichEdit1->SelAttributes->Color = clBlue;
: RichEdit1->Lines->Add(MessageF2_Mpage->Strings[0]);
: RichEdit1->Lines->Add(MessageF2_Mpage->Strings[1]);
: RichEdit1->Lines->Add(MessageF2_Mpage->Strings[2]);
: RichEdit1->Lines->Add(MessageF2_Mpage->Strings[3]);
:
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
: Close();
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button3Click(TObject *Sender) // 저장하는 부분
: {
: RichEdit1->Lines->SaveToFile("D:\\F2\\Mpage.txt");
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button4Click(TObject *Sender) // 최종적으로 불러오는 부분
: {
: MessageF2_Mpage->LoadFromFile("D:\\F2\\Mpage.txt");
: RichEdit2->Lines->Add(MessageF2_Mpage->Strings[0]);
: }