• WTL中CListViewCtrl中LVS_ICON和LVS_REPORT模式的不同


    LVS_SINGLESELCListViewCtrl的风格: 

    LVS_ICON: 为每个item显示大图标

    LVS_SMALLICON: 为每个item显示小图标

    LVS_LIST: 显示一列带有小图标的item

    LVS_REPORT: 显示item详细资料

    直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料” 

    应用LVS_REPORT模式:

    m_AttachList.Create( this->m_hWND, 
    NULL, NULL, 
    WS_CLIPCHILDREN | WS_CHILD | LVS_REPORT | LVS_SINGLESEL  , 

    0, IDB_HOME_ATTACH_LISTVIEW, NULL); 

    应用LVS_ICON模式: 

    m_ListIcon.Create( GetViewHWND(), 

    NULL, NULL, 
    WS_VISIBLE |WS_BORDER| WS_CHILD | LVS_ICON   , 
    0, IDC_SELECT_ICON_LIST, NULL);
    ATLASSERT(m_pImageList != NULL);
    ATLASSERT(m_uNumIcons != 0);
    //LVS_REPORT LVS_ICON
    LONG lStyle;
    lStyle = ::GetWindowLong(m_ListIcon.m_hWnd, GWL_STYLE);  //获取当前窗口类型
    lStyle &= ~LVS_TYPEMASK;   //清除显示方式位
    lStyle |= LVS_SMALLICON;   //设置显示方式
     
    ::SetWindowLong(m_ListIcon.m_hWnd, GWL_STYLE, lStyle);  //设置窗口类型
    m_uNumIcons = m_pImageList->GetImageCount();
    m_ListIcon.SetImageList(m_pImageList->m_hImageList, LVSIL_SMALL);

    需要注意的是:LVS_ICON模式需要指定WS_VISIBLE式样,并且不能和

     LVS_SINGLESEL一起用。

    同时需要清除显示方式位才能正常显示。

    记录于此! 

  • 相关阅读:
    MSSQL的基础应用
    SQLLite的使用
    C#反射调用其它DLL的委托事件 传值
    SQLServer 取 字段名称 类型 字段描述 等
    WCF跨域 客户端无法访问
    不同的数据库数据类型映射
    用人四策
    思考集体跳槽
    C/C++/Qt 统计运行时间
    CUDA项目属性设置
  • 原文地址:https://www.cnblogs.com/wantfly/p/2118775.html
Copyright © 2020-2023  润新知