|
void __fastcall TLoginForm1::setRichEdit1(TColor Colors, String Msg )
{
TColor BeforeColor = RichEdit1->SelAttributes->Color;
RichEdit1->SelAttributes->Color = Colors;
// RichEdit1->Lines->Add(Msg); // 참조1
RichEdit1->Text=RichEdit1->Text+Msg; // 참조2
//RichEdit1->SelStart=0; // 참조3
RichEdit1->Refresh();
// 색상 복원
RichEdit1->SelAttributes->Color = BeforeColor;
// 스크롤이 현위치에 갱신되도록해야함.
}
<< 의도 >>
리치에디터로 로그를 만들려고 합니다.
색상에따라서 오류인지 성공인지 구분하려합니다.
setRichEdit1(clBlack,"사용자 검증 중....");
....
//사용자맞으면
setRichEdit1(clBlue,"확인\n");
//사용자가 아니면
setRichEdit1(clRed,"틀림\n");
이렇게 하고싶습니다.
<< 문제점 >>
메서드가 예전에는 참조1처럼
RichEdit1->Lines->Add(Msg);
하면 스크롤도 되고 이렇게하려면
RichEdit1->HideSelection =False;를 폼 초기화할때 해줘야합니다.
제가하고싶은 <<의도>>대로하려니까.
RichEdit1->Text=RichEdit1->Text+Msg;
이렇게 해줘야하네요.
그런데 이렇게하면 색깔도 안나오고
스크롤이 젤마지막으로 잡히지않네요.
<< 해결할것들 >>
1. 색깔을 컬러로 하고싶습니다.
2. 스크롤을 젤마지막으로 하고싶습니다.
|