MFC2011. 2. 10. 09:30

리스트 박스의 텍스트를 라인별로 다르게 설정할 수 있는 방법을 소개합니다.

우선 다이얼로그 베이스의 프로젝트를 생성합니다.
그리고 아래 첨부 파일을 프로젝트에 포함시킵니다.




다이얼로그에 리스트박스를 추가하고 Owner Draw 속성을 Variable로 설정합니다.


다이얼로그에 헤더 인클루드하고 멤버 변수를 추가합니다.
    CColorListBox            m_List;


DDX_Control을 추가합니다.
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CSyncTrakDlg)
    DDX_Control(pDX, IDC_LIST_RESULT, m_List);
    //}}AFX_DATA_MAP
}


리스트박스에 텍스트 추가시 아래 override된 함수를 사용하면 됩니다.
m_List.AddString(_T("Add List Box Item"), RGB(255,0,0));
m_List.InsertString(-1, _T("Insert List Box Item"), RGB(0, 0, 255));

Default인 검정색으로 추가할 경우에는 CListBox의 함수를 그대로 사용할 수 있습니다.
Posted by 못생긴나무