zoukankan      html  css  js  c++  java
  • CListCtrl用法简介及使用技巧

    [设置属性]

    首先用资源编辑器拖放一个ListCtrl控件到对话框中。

    设置属性。

    Always Show Selection: True // 即便失去焦点依然高亮选择

    SingleSelection: True   // 只允许选中一行

    View: Report            // 报表方式,较常用

    [初始化]

    // 在对话框的OnInitialDialog中初始化ListCtrl

    // 1. 设置样式

    m_ListCtrl.SetExtendedStyle( LVS_EX_FULLROWSELECT );

    // LVS_EX_FULLROWSELECT: 表示选中整行,而非某一列

    // LVS_EX_GRIDLINES: 显示网格线

    // LVS_EX_CHECKBOXES: 第一列前面显示复选框

    // LVS_EX_FLATSB: 比较平的滚动条

    // 2. 插入列

    m_ListCtrl.InsertColumn( 0, _T("列标题0"), LVCFMT_LEFT, 100 );

    m_ListCtrl.InsertColumn( 1, _T("列标题1"), LVCFMT_LEFT, 100 );

    // LVCFMT_LEFT表示列左对齐,还可以取LVCFMT_RIGHT,LVCFMT_CENTER // 100为列宽

    // 3. 插入行

    // 可以在初始化时插入行,也可以动态插入行 (先InsertItem再SetItemText)

    m_ListCtrl.InsertItem( 0, _T("0 行 0 列") );

    m_ListCtrl.SetItemText( 0, 1, _T("0 行 1 列") );

    m_ListCtrl.InsertItem( 1, _T("1 行 0 列") );

    m_ListCtrl.SetItemText( 1, 1, _T("1 行 1 列") ); 

    //得到listcstrl列数

    int nHeadNum = m_list.GetHeaderCtrl()->GetItemCount();

    //得到listcstrl行数

    int nColumNum = m_list->GetItemCount();

    //删除所有列

    方法1:

    while(m_listCtrl.DeleteColumn(0)) 

    {

    }

    因为你删除了第一列后,后面的列会依次向上移动。

    方法2:

    for (int i=m_listCtrl.GetHeaderCtrl()->GetItemCount(); i>=0; i--)  

    {   

        m_listCtrl.DeleteColumn(i);  

    }

    //得到某一项的值(行列索引都是从0开始) 

    CString keyString = m_listCtrl.GetItemText(0,0);

  • 相关阅读:
    盒模型
    DTD
    JS 中的 __proto__ 、prototype、constructor
    ES 5 中 判断数组的方法
    js keyup、keypress和keydown事件
    webpack 安装 url-loader 模块后,图片地址展示错误问题
    前端展示PDF内容
    对象的深拷贝
    IE 11 中不知promise 的 finally 方法
    js判断一个字符串是否为纯数字组成
  • 原文地址:https://www.cnblogs.com/zys871841072/p/2945467.html
Copyright © 2011-2022 走看看