|
스트링에서 어떤 문자열을 추가하여 컬러를 입히는 것은 스트링에서 하는 것이 아니라 RichEdit에서 하는 일입니다. 그렇기 때문에, 스트링에서 각각의 색을 바꾸고 싶을때는, RichEdit로 설정후, 원하는 부분을 넣고, 다시 색을 바꾼후 다시 스트링을 붙이는 방법으로 해야 적용이 됩니다.
[001] 을 노란색으로 추가하시고 싶다면, 아래와 같이 하시면 됩니다.
RichEdit1->SelAttributes->Color = clOlive; // 하얀바탕이라 clYellow로 하지 않았음
RichEdit1->Lines->Add ("[001]");
하지만, 001 부분만 노란색으로 하시고 싶다면 다음과 같은 작업을 해주셔야 합니다.
RichEdit1->SelAttributes->Color = clBlack;
RichEdit1->SelText = "[";
RichEdit1->SelAttributes->Color = clOlive;
RichEdit1->SelText = "001";
RichEdit1->SelAttributes->Color = clBlack;
RichEdit1->SelText = "]\n";
아쉽지만 이렇게 색깔을 바꾸어 일일히 하는 수밖에 없는것으로 알고 있습니다. 보통 이런 작업을 할때는 문자열을 추가시키는 함수를 따로 만들어, 이 함수에서는 스트링을 분석후 차근차근 붙이되, ^1 등과 같은 지정한 특수 기호가 나오면 이것은 색깔 바꾸는 스트링으로 인식하게 (ANSI와 비슷한 기법이죠) 하여 프로그래밍 하고 있습니다.
쥬니짱 님이 쓰신 글 :
: 님들께서 가르쳐 주신 방법으로
: [001]
: [002]
: ...
: 이런식으로 나오게 했는데요...
: [001] <---- 이 텍스트만 노란색으로 리치에디트 창에 나오게해주고 싶어서요....
: String에 원하는 부분만 색을 넣는 방법은 없나요?...자꾸 염치없이 질문만 해서 죄송합니다...
:
|