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 ,如需转载请自行联系原作者



相关文章
|
BI
17 MFC - 列表控件 CListCtrl
17 MFC - 列表控件 CListCtrl
71 0
|
区块链
18 MFC - 树控件 CTreeCtrl
18 MFC - 树控件 CTreeCtrl
46 0
|
6月前
MFC隐藏对话框边框和可拖动
MFC隐藏对话框边框和可拖动
|
6月前
|
索引
[Qt5&控件] 下拉框ComBoBox和层叠窗口StackedWidget控件组合使用
[Qt5&控件] 下拉框ComBoBox和层叠窗口StackedWidget控件组合使用
157 0
16 MFC - 组合框(下拉框) CComboBox
16 MFC - 组合框(下拉框) CComboBox
45 0
19 MFC - 标签控件 CTabCtrl
19 MFC - 标签控件 CTabCtrl
67 0
|
程序员 开发工具 C语言
Qt编写自定义控件45-柱状标尺控件
一、前言 这个控件写了很久了,是最早期的一批控件中的一个,和温度计控件类似,都是垂直的进度条,可以设置不同的背景颜色,左侧的刻度也可以自由设定,还提供了动画效果,其实就是开启定时器慢慢的进度到设定的目标值,如果设定的值比当前值大,则递增,反之递减。
1142 0