MFC ListCtrl控件的使用

说明:这篇博客记录的是MFC ListCtrl控件使用的方式及调用的相关的API。

一、相关的工程设置,及变量声明不做详细说明。
        1)头文件

public:

    /*ListCtrl控件变量*/
    CListCtrl m_ListCtrl;

    int row; 
    /*插入空白数据行*/
    void InsertData();
    /*获取控件宽度*/
    INT GetControlWidth(int IDC);
private:
    /*获取控件区域*/
    CRect m_rect;

  2)源文件

OnInitDialog函数中进行代码的编写

/*拿到控件窗口的区域*/
    int m_Width=GetControlWidth(IDC_LIST1);
    // TODO:  在此添加额外的初始化代码
    /*插入信息框栏*/
    m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);//设置ListControl样式,带网格
    m_ListCtrl.InsertColumn(0, _T("姓名"), LVCFMT_CENTER, m_Width/3);
    m_ListCtrl.InsertColumn(1, _T("性别"), LVCFMT_CENTER, m_Width/3);
    m_ListCtrl.InsertColumn(2, _T("工号"), LVCFMT_CENTER, m_Width/3);
    
    /*插入空白数据*/    
    InsertData();

    /*插入数据 第一行*/
    m_ListCtrl.SetItemText(row, 0, _T("张三"));
    m_ListCtrl.SetItemText(row, 1, _T("男"));
    m_ListCtrl.SetItemText(row, 2, _T("001"));

    /*插入空白数据*/
    InsertData();

    m_ListCtrl.SetItemText(row, 0, _T("李四"));
    m_ListCtrl.SetItemText(row, 1, _T("女"));
    m_ListCtrl.SetItemText(row, 2, _T("002"));

    

void CListCtrlDlg::InsertData()
{

    /*附加说明,这里之所以插入空白数据就是为了,设置两次ItemText,当然,你也可以直接插入数据,但是只能插入第一行第一列的数据,后面的数据还是需要使用SetItemText进行设置,为了代码的统一性,所以采取两次SetItemText*/

/*example 

m_ListCtrl.InsertItem(row,_T("张三"));

后面就设置男,001

*/
    row=m_ListCtrl.GetItemCount();
    m_ListCtrl.InsertItem(row,_T(""));
}

INT CListCtrlDlg::GetControlWidth(int IDC)
{
    GetDlgItem(IDC)->GetWindowRect(&m_rect);
    return m_rect.Width();
}

 

你可能感兴趣的:(MFC)