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
[57430] ListView 질문입니다.
일월영측 [kimysh] 1907 읽음    2009-06-29 09:29
CustomDrawItem을 이용하여 ListView의 캡션에 존재하는 단어를 검색을 하여 특정 단어가

들어가 있는 라인의 색을 변경하려 합니다.

ColorDialog를 이용하여 색을 지정을 했습니다.

근데 이상하게도 'abc'를 검색을 하면 'abc'가 들어가 있는 문장 전체가 색 변경이 되어야 되는데

문자열 길이가 다른 것에는 색 변경이 되질 않습니다.

이것을 해결 하고싶은데 어떻게 해야 될까요?

소스는 아래와 같습니다.

char ch[MAX_PATH];
    int cnt = 0;
    for( int i=0; i<list->Items->Count; i++ )
    {
        memset(ch,0,MAX_PATH);
        strcpy(ch,list->Items->Item[i]->Caption.c_str());
        for(int j=0; j<sizeof(ch); j++)
        {
            if(ch[j]==m_ch[0])
            {
                for(int k=0;k<sizeof(m_ch); k++)
                {
                   if(ch[j+k]==m_ch[k])
                   {
                      casStrTrimLeftRight(m_strSearch,m_strSearch);
                      if(((k+1)*2)==sizeof(m_strSearch))
                      {
                        if(cnt==0)
                        {
                            if(ColorDlg->Execute())
                            {
                               cnt=1;
                               m_strColor.sprintf(ch);
                            }
                        }
                        list->Repaint();
                      }
                   }
                   else
                   {
                        break;
                   }
                }

            }
        }
    }

+ -

관련 글 리스트
57430 ListView 질문입니다. 일월영측 1907 2009/06/29
57432     Re:ListView 질문입니다. skjoon 2467 2009/06/29
57457         감사합니다.(냉무) 일월영측 856 2009/07/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.