본문 바로가기

Windows/MFC

Using a System icon (SHGetFileInfo) (시스템 아이콘 사용하기)

[code]
CImageList 로 m_imgSmallList, m_imgLargeList을 멤버 변수로 선언하기
[/code]
[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]