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
[18006] Re:Re:리스트박스에서의 각 아이템의 텍스트 색 설정이 잘 안됨니다. 도와 주이소.....
김상훈 [shkim510] 848 읽음    2002-04-29 10:02
리스트 박스의 아이템에서 메세지 레벨이라는 값도 들어가집니다.이 메세지 레벨값을 보고 그 메세지 레벨에 해당하는 색을 설정하고 싶거든요..메세지 레벨의 값은 각 5개로 "L","M","H","E","F"로 다섯가지 입니다.그래서 전 아이템에서 이다섯개를 순서대로 0~4로 지정하여 그 해당값을 전역변수 tmp_level에 할당하고, 이를 ListBox1DrawItem함수에서 조건문에 사용하였습니다..근데 한 라인의 아이템의 색이 변하는것이아니라..전체가가 다 변해서...이 글을 올리게 되엇습니다..좀더 상세히 답변해 주시면 감사 하겠습니다.

그리고 아직 초보라서...답변의 내용을 전혀 모르겠씁니다..죄송하지만 STL이 뭔지..좀더 자세히 설명해 주시고, 이왕이면 이와 유사한 예제를 하나 들어 주시면 감사 하겟습니다...한 주의 시작인 월요일 즐거운 하루 되세요..감사

박세용 님이 쓰신 글 :
: 아마도 메시지(event)의 처리 순서 때문에 잘못된 것 같네요.
: ReadMsg에서 tmp_level을 바꾸면
: ListBox1DrawItem에서 현재의 tmp_level을 보고
: 전체 메시지를 그 색으로 칠할 것 같네요.
: ListBox의 각 아이템 값(AnsiString)을 보고 판단해서 색을 지정하게 코딩을 하지 않으면
: tmp_level의 값과 ListBox에 들어가는 값을 매치시키는 별도의 자료를 사용해야될 것 같네요.
: 예를 들면, STL(standard template library)의 map과 같은 자료구조를
: 사용하면 될 것 같네요.
:
:
: 김상훈 님이 쓰신 글 :
: : 리스트 박스에서 각 아이템의 덱스트 색깔이 각 조건에 의해서 바꾸어지도록 코딩을 햇는데..각 라인이 바뀌는 것이 아니라..전체가 다 바뀌어 집니다..어디가 잘 못 되었는지 선배님들의 많은 가르침을 기다리겠습니다...그럼 즐거운 주말이 돼세요...
: :
: : bool __fastcall TMsgForm::ReadMsg( void )
: : {
: :    ....
: :    ....
: :    ....
: :    tmp_level=....;
: :    ...
: : }
: :
: : void __fastcall TMsgForm::ListBox1DrawItem(TWinControl *Control, int Index,
: :       TRect &Rect, TOwnerDrawState State)
: : {
: :      if( tmp_level == MSG_LVL_LOW){
: :         ListBox1->Canvas->Font->Color= clWhite;}
: :     else if( tmp_level == MSG_LVL_MED){
: :         ListBox1->Canvas->Font->Color = clAqua;}
: :     else if( tmp_level == MSG_LVL_HIGH){
: :         ListBox1->Canvas->Font->Color = clYellow;}
: :     else if( tmp_level == MSG_LVL_ERROR){
: :         ListBox1->Canvas->Font->Color = clFuchsia;}
: :     else if( tmp_level == MSG_LVL_FATAL){
: :         ListBox1->Canvas->Font->Color = clRed;}
: :
: :     ListBox1->Canvas->TextRect(Rect, Rect.Left, Rect.Top, ListBox1->Items->Strings[Index]);
: :
: : }

+ -

관련 글 리스트
17986 리스트박스에서의 각 아이템의 텍스트 색 설정이 잘 안됨니다. 도와 주이소..... 김상훈 968 2002/04/27
17998     Re:리스트박스에서의 각 아이템의 텍스트 색 설정이 잘 안됨니다. 도와 주이소..... 박세용 950 2002/04/28
18006         Re:Re:리스트박스에서의 각 아이템의 텍스트 색 설정이 잘 안됨니다. 도와 주이소..... 김상훈 848 2002/04/29
18017             Re:Re:Re:리스트박스에서의 각 아이템의 텍스트 색 설정이 잘 안됨니다. 도와 주이소..... 박세용 1186 2002/04/29
17993     Re:리스트박스에서의 각 아이템의 텍스트 색 설정이 잘 안됨니다. 도와 주이소..... 유영인 [Chris] 1138 2002/04/27
18005         Re:Re:리스트박스에서의 각 아이템의 텍스트 색 설정이 잘 안됨니다. 도와 주이소..... 김상훈 888 2002/04/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.