|
void __fastcall TLoginForm1::setRichEdit1(TColor Colors, String Msg )
{
RichEdit1->SetFocus();
RichEdit1->SelAttributes->Color = Colors;
RichEdit1->SelText=Msg;
RichEdit1->SelStart=RichEdit1->Text.Length();
}
전 이렇게 사용하고 있습니다.
그럼....
pd 님이 쓰신 글 :
: 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. 스크롤을 젤마지막으로 하고싶습니다.
|