MFC中的CListCtrl网格控件添加行

简介:
1
2
3
4
5
6
7
8
9
m_list.Attach(::GetDlgItem( this ->m_hWnd,IDC_LIST1)); //手动关联变量  
m_list.InsertColumn(0,_T( "工号" ),0,120);  
m_list.InsertColumn(1,_T( "姓名" ),0,120);  
   
m_list.InsertItem(0,_T( "12901" ));   //插入第0行,且0列为12901  
m_list.SetItemText(0,1,_T( "杜甫" )); //设置第0行,第1列值  
   
m_list.InsertItem(1,_T( "12907" ));  //插入第1行,且0列为12907  
m_list.SetItemText(1,1,_T( "李白" )); //设置第1行,第1列值

设置表格的风格,如下:

1
2
3
4
5
long  dwStyle = m_ListCtrl.GetExtendedStyle();  
dwStyle |= LVS_EX_FULLROWSELECT;  
dwStyle |= LVS_EX_GRIDLINES;  //网格线(只适用与报表风格的listctrl)  
dwStyle |= LVS_EX_CHECKBOXES; //选择CheckBox  
m_ListCtrl.SetExtendedStyle(dwStyle);

获取选中行的内容,如下:

1
2
3
4
5
6
void  SecondDig::OnBnClickedButton4()  
{  
     int  pos = m_ListCtrl.GetSelectionMark();  
     CString gonghao = m_ListCtrl.GetItemText(pos,0);  
     AfxMessageBox(gonghao);  
}

使用手动关联变量时,注意在窗口析构函数中,分离控件与窗口句柄,如下:

1
2
3
4
CTestDlg::~CTestDlg()
{
     m_btnTest.Detach();
}

否则关闭窗口时会提示,如下错误:
wKioL1nJzY-y9J_SAABAR_MQ1sE475.png
















本文转自Chinayu201451CTO博客,原文链接:http://blog.51cto.com/9233403/1968732 ,如需转载请自行联系原作者



相关文章
|
12月前
|
BI
17 MFC - 列表控件 CListCtrl
17 MFC - 列表控件 CListCtrl
66 0
MFC基本控件4-列表框控件List Box
MFC基本控件4-列表框控件List Box
|
6月前
MFC隐藏对话框边框和可拖动
MFC隐藏对话框边框和可拖动
|
6月前
|
索引
[Qt5&控件] 下拉框ComBoBox和层叠窗口StackedWidget控件组合使用
[Qt5&控件] 下拉框ComBoBox和层叠窗口StackedWidget控件组合使用
149 0
|
12月前
16 MFC - 组合框(下拉框) CComboBox
16 MFC - 组合框(下拉框) CComboBox
42 0