C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[48764] Re:Re:리치에디터로 로그화면을 만들고싶습니다. 간단한 질문..
pd [kmshts] 1176 읽음    2007-04-05 02:45
제가원하는 방식은 참조2의 방식만쓰려합니다. 그렇게된다면
void __fastcall TLoginForm1::setRichEdit1(TColor Colors, String Msg )
{
  TColor BeforeColor = RichEdit1->SelAttributes->Color;
   RichEdit1->SelAttributes->Color = Colors;
   RichEdit1->Text=RichEdit1->Text+Msg;  // 참조2
   RichEdit1->Refresh();

   // 색상 복원
   RichEdit1->SelAttributes->Color = BeforeColor;

   // 스크롤이 현위치에 갱신되도록해야함.
}
이렇게 될꺼같네요..
그런데 이표현은 적절하지않는 표현입니다.
왜냐면 색깔도 안나오고  포커스도 자동으로 맞춰지지않습니다.
TRichedit->Line->add()를 쓸때는
RichEdit1->HideSelection =False (또는 인스펙터인가?거기서 맞추거나)
이렇게함으로서 포커스를 맞출수있었죠.


허정주 님이 쓰신 글 :
: 간단한 편법으로 Add 를 한 뒤, Text 변수를 접근 해 마지막 \r\n 을 제거해주면 될 듯합니다 ~_~
: 색상이 안나오는 건 아마 Text 로 접근하면 {{2{ 머 이런식의 정보들이 포함된 텍스트여서 그런거 같네요.
: 스크롤도 Add 로 된다면 따로 메세지를 보낼 필요가 없겠죠.
:
: 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. 스크롤을 젤마지막으로 하고싶습니다.

+ -

관련 글 리스트
48758 리치에디터로 로그화면을 만들고싶습니다. 간단한 질문.. pd 1149 2007/04/04
48779     Re:리치에디터로 로그화면을 만들고싶습니다. 간단한 질문.. 방태윤 1225 2007/04/05
48763     Re:리치에디터로 로그화면을 만들고싶습니다. 간단한 질문.. 아루스 1068 2007/04/04
48764         Re:Re:리치에디터로 로그화면을 만들고싶습니다. 간단한 질문.. pd 1176 2007/04/05
48766             Re:Re:Re:리치에디터로 로그화면을 만들고싶습니다. 간단한 질문.. 아루스 1378 2007/04/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.