본문 바로가기

Windows/MFC

CListCtrl, SHFILEINFO, SHGetFileInfo, (리스트 컨트롤에 시스템 아이콘 추가하기)

[code]
void CDunzipCloneDlg::GetSystemImageList()
{
    HIMAGELIST    hSystemImageList;
    SHFILEINFO    info;

    // 운영체제가 관리하는 작은 아이콘 이미지 리스트와 연결
    hSystemImageList = (HIMAGELIST)SHGetFileInfo((LPCTSTR)_T("C:\\"),
        0, &info, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON);

    m_imgSmallList.Attach(hSystemImageList);
    m_imgSmallList.Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));

    // 운영체제가 관리하는 보통 아이콘 이미지 리스트와 연결
    hSystemImageList = (HIMAGELIST)SHGetFileInfo((LPCTSTR)_T("C:\\"),
        0, &info, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_ICON);
    m_imgLargeList.Attach(hSystemImageList);
    m_imgLargeList.Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));

    // 리스트 컨트롤과 이미지 리스트 연결
    m_zipFiles.SetImageList(&m_imgLargeList, LVSIL_NORMAL);
    m_zipFiles.SetImageList(&m_imgSmallList, LVSIL_SMALL);

    // 이미지 리스트 닫기
    m_imgLargeList.Detach();
    m_imgSmallList.Detach();
}[/code]