|
RichEdit에서 라인의 위치를 찾아 그부분만 폰트 색깔 변하게 하는 방법중에서
어떤 분의 답변 중에 하나를 그대로 사용해 보았습니다..
그런데..
void ChageColor(...)
{
....
char* s = (char*)malloc(sizeof(BYTE) *100);
Form1->RichEdit->Lines->Add(" --------------------");
Form1->RichEdit->SelAttributes->Color = clGreen;
wsprintf(s," 제목...Software");
//Form1->RichEdit->Lines->Add(s); // 1.
Form1->RichEdit->Lines->Strings[Line] = s; // 2
Form1->RichEdit->SelAttributes->Color = clBlack;
Form1->RichEdit->Lines->Add(" --------------------");
Line = Line + 4;
free(s);
...
}
위와 같이 1과 같이 하면 잘동작하는데..2와 같이 하면 처음 동작시 한번만 글자가 푸른색으로 나타나고
다음부터는 아예 글자가 생략되는군여,,
왜 저런 현상이 발생하죠?
결과)
--------------------
제목...Software --> 푸른색
--------------------
--------------------
--------------------
--------------------
--------------------
--------------------
--------------------
위 예제는 그냥 만들어 본거지만 원래는 Line의 위치를 위 함수를 호출할때 넘겨줍니다.
|