|
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;
}
}
}
}
}
|