Q&A

  • Rich Edit에 관한 질문입니다.

Rich Edit에서 출력되는 메세지별로 글자색깔을 틀리게 줬는데

처음에는 잘 나오다가

그 프로그램을 내려놓고 딴짓좀 하다가 다시보면

붉은 색으로 나타나야할 메세지가 검게 변해있습니다.

혹은 맨앞의 첫 글자만 붉게 되어 있구요

참으로 황당한 증상이죠....

소스는 아래에 있습니다.

  If li_prod_data < li_prod then
     begin
      Richedit2.SelAttributes.Color := clBlack;
      Richedit2.Lines.Add(ls_time +' '+ls_line_name+ '라인 실적 미달'+ '('+inttostr(li_prod_data)+'/'+inttostr(li_prod)+')');
    end;
  If li_fail_data > li_fail then
      begin
        Richedit2.SelAttributes.Color := clRed;
        Richedit2.Lines.Add(ls_time +' '+ls_line_name+ '불량 다량 발생'+ '('+inttostr(li_fail_data)+'/'+inttostr(li_fail)+')');
      end;

왜 이런 현상이 나타나는지 혹시 아시는분 답변 부탁드립니다..

그럼 수고하세요

즐거운 주말입니다...^^
4  COMMENTS
  • Profile
    KDDG_BaSTaD 2003.02.10 17:58

    ==> 혹시 한번만 그려주신거 아니신지요.. ^^;; Paint()에서 계속 그려주셔야합니다. ^^.. 창을 감춰따가 다시 보면 Invalidate되기때문에 다식 그려주죠..

    ps. 성공하시길.. 즐프 & 즐타
  • Profile
    김상수 2003.02.10 19:48

    paint()가 form에 있는 paint입니까??

    거기 밖에 안보인던데 맞는지요???

    그리고 다른 질문 하나더 하겠습니다.

    RichEdit의 오토스크롤이라 해야하나 메세지가 하나 날라오고

    에디트 폼에 다 차면 스크롤이 생기잖아요 그러면 알아서 맨 마지막 스크롤로

    내려 갈 수 있게요.

    메세지를 뿌려준 다음에

    RichEdit2.Perform(WM_VSCROLL, SB_BOTTOM, 0);

    하니깐 내려가기는 하는데 맨 밑에 공백부분 까지 내려가지더군요  ㅡㅡ;;

    어떻게 해결할 수 있는 방법이 없을까요

    부탁드립니다

    그럼 이만.


  • Profile
    KDDG_BaSTaD 2003.02.11 02:22
    == > TForm.Paint() 맞습니다. 그리고 맨 밑 공백 한줄이 생기는것은 님이
    TRichEdit.Lines.Add()로 하셔서 그럽니다. 이건 끝에 개행문자를 동반하기때문입니다.. 끝에 CRLF가 붙는부분을 찾아서 제거해주시면 됩니다.
  • Profile
    김상수 2003.02.11 03:56


    끝에 CRLF가 붙은 부분을 찾아서 제거하라고 하셨는데

    TRichEdit.Lines.Delete()는 아닌거 같은데

    어떻게 찾아서 지워야 할지 모르겠네요

    죄송합니다...

    답변부탁드릴께요^^;;