说明:这篇博客记录的是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();
}