在列表控件中显示文件图标与类型

初始化列表
    SHFILEINFO rInfo;
    HIMAGELIST hImglist;
    hImglist = (HIMAGELIST) SHGetFileInfo ( L"", 0, &rInfo, sizeof(SHFILEINFO),
        SHGFI_ICON | SHGFI_SMALLICON |
        SHGFI_SYSICONINDEX );
    m_cFileImages.Attach(hImglist);
    m_ctrlFileList.SetImageList(&m_cFileImages, LVSIL_SMALL);

    m_ctrlFileList.InsertColumn(XLIST_NAME_ITEM,L"NAME", LVCFMT_LEFT, 360);
    m_ctrlFileList.InsertColumn(XLIST_TYPE_ITEM,L"TYPE", LVCFMT_LEFT, 160);

    m_ctrlFileList.SetExtendedStyle ( m_ctrlFileList.GetExtendedStyle()|LVS_EX_FULLROWSELECT);

获取文件信息:
    LVITEMW stItem;
    SHFILEINFOW stInfo;
    // 获取图标信息,与文件类型信息
    SHGetFileInfoW(
        lpwzFile_,
        0,
        &stInfo,
        sizeof(SHFILEINFOW),
        SHGFI_SYSICONINDEX | SHGFI_TYPENAME|SHGFI_ATTRIBUTES);
    DestroyIcon(stProp_.stInfo.hIcon);

    //填充    rItem
    stItem.mask    = LVIF_IMAGE | LVIF_TEXT;
    stItem.iImage  = stInfo.iIcon;

    //图标改成若隐若现状态
    if ( stInfo.dwAttributes & SFGAO_GHOSTED )
    {
        stItem.mask |= LVIF_STATE;
        stItem.state = stItem.stateMask = LVIS_CUT;
    }
   
显示列表信息
    stItem.pszText = stInfo.szDisplayName;
    stItem.iItem = nIndex;
    m_ctrlFileList.InsertItem (&(it->stItem));
    m_ctrlFileList.SetItemText(nIndex, XLIST_TYPE_ITEM, stInfo.szTypeName);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值