Q&A

  • richedit에서 라인의 색깔바꾸기가 궁금..
날씨가 많이 추워졌네요..

다들 감기조심하시고요,,,

다름이 아니라 richedit에서 한 라인의 글짜색이라던지 배경색을

바꿀 수 있는지가 궁금합니다. 전체 글의 색은 바꿀수가 있는것

같은디...

혹 여러 고수님들중 시간이 남는 분이 계시면 부탁드립니다..

그럼 이만..

2  COMMENTS
  • Profile
    이대선 2000.01.20 20:57
    궁금이 wrote:

    > 날씨가 많이 추워졌네요..

    > 다들 감기조심하시고요,,,

    > 다름이 아니라 richedit에서 한 라인의 글짜색이라던지 배경색을

    > 바꿀 수 있는지가 궁금합니다. 전체 글의 색은 바꿀수가 있는것

    > 같은디...

    > 혹 여러 고수님들중 시간이 남는 분이 계시면 부탁드립니다..

    > 그럼 이만..





    1. richedit의 부분 적인 색을 바꾸려면 다음과 같이 해보세요..



    richedit1.selstart := 0;

    richedit1.selLength := 10; // richedit1의 0번째 칼럼 부터 10번째 칼럼 까지 불럭을 씌운다음....

    richedit1.selAttributes.Color := ClRed; // 블럭을 씌운 부분을 붉은색으로 바꾼다.



    2. richedit의 배경색을 바꾸려면...



    richedit1.color := clYellow;

  • Profile
    장홍민 2000.01.21 00:00
    이대선 wrote:

    > 궁금이 wrote:

    > > 날씨가 많이 추워졌네요..

    > > 다들 감기조심하시고요,,,

    > > 다름이 아니라 richedit에서 한 라인의 글짜색이라던지 배경색을

    > > 바꿀 수 있는지가 궁금합니다. 전체 글의 색은 바꿀수가 있는것

    > > 같은디...

    > > 혹 여러 고수님들중 시간이 남는 분이 계시면 부탁드립니다..

    > > 그럼 이만..

    >

    >

    > 1. richedit의 부분 적인 색을 바꾸려면 다음과 같이 해보세요..

    >

    > richedit1.selstart := 0;

    > richedit1.selLength := 10; // richedit1의 0번째 칼럼 부터 10번째 칼럼 까지 불럭을 씌운다음....

    > richedit1.selAttributes.Color := ClRed; // 블럭을 씌운 부분을 붉은색으로 바꾼다.

    >

    > 2. richedit의 배경색을 바꾸려면...

    >

    > richedit1.color := clYellow;



    feedbacked by 장홍민

    이대선님, 먼저 저에게 관심을 가져주신 점 대단히 고맙습니다.

    대선님의 답변 고마웠지만, 실은 제가 궁금해 하든 사항이 아니었습니다.

    selstatr,selLengh는 알고 있었고, 게다가 이 속성들은 라인의 의미가

    아니라 글자순이죠, 그러니까 selstart의 3은 전체 텍스터의 세 번째 글자이지

    세번째 라인을 의미하지는 않는거죠, 저는 라인단위로 처리하기를 원했고, 글자순으로

    되어 있는 sel~의 명령으로는 좀 머리를 써야 하는 번거로움이 있는 것 같아 도움을

    청했습니다.

    조금전 막 변칙적이지만 해결 방법을 알았습니다. 혹 이런 방법외에 알고 계신분은

    수고스러움을 기대해봅니다.

    var

    temp :String;

    begin

    with richedit1 do begin

    temp := Lines[NumofLine];//지우기전에 temp에 저장

    Lines.Delete(NumofLine);//색이 변하기를 원하는 라인을 지운다.

    selAttributes.Color := clRed;//빨간색으로 변해라, 얍

    Lines.Insert(StrToInt(NumBuf),temp);//위의 색 명령은 삽입한 라인

    // 만 통하게 된다

    end;

    ....

    ....

    end;