CListCtrl用法简介
2008-07-22 21:54
302 查看
[设置属性]
首先用资源编辑器拖放一个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. 插入行
// 可以在初始化时插入行,也可以动态插入行
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("0 行 1 列") );
[遍历所选]
POSITION selectItemPos = m_ListCtrl.GetFirstSelectedItemPosition();
while ( selectItemPos != NULL ) {
const int selectItemIndex = m_ListCtrl.GetNextSelectedItem( selectItemPos );
CString keyString = m_ListCtrl.GetItemText( selectItemIndex, 0 );
// selectItemIndex是基于0的索引
}
[删除所选]
POSITION selectItemPos = m_ListCtrl.GetFirstSelectedItemPosition();
int offset = 0;
while ( selectItemPos != NULL ) {
const int selectItemIndex = m_ListCtrl.GetNextSelectedItem( selectItemPos );
m_ListCtrl.DeleteItem( selectItemIndex - offset );
++offset;
}
首先用资源编辑器拖放一个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. 插入行
// 可以在初始化时插入行,也可以动态插入行
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("0 行 1 列") );
[遍历所选]
POSITION selectItemPos = m_ListCtrl.GetFirstSelectedItemPosition();
while ( selectItemPos != NULL ) {
const int selectItemIndex = m_ListCtrl.GetNextSelectedItem( selectItemPos );
CString keyString = m_ListCtrl.GetItemText( selectItemIndex, 0 );
// selectItemIndex是基于0的索引
}
[删除所选]
POSITION selectItemPos = m_ListCtrl.GetFirstSelectedItemPosition();
int offset = 0;
while ( selectItemPos != NULL ) {
const int selectItemIndex = m_ListCtrl.GetNextSelectedItem( selectItemPos );
m_ListCtrl.DeleteItem( selectItemIndex - offset );
++offset;
}
相关文章推荐
- CListCtrl用法简介及使用技巧
- CListCtrl用法简介及使用技巧(一)
- CListCtrl用法简介及使用技巧(一
- CListCtrl控件中InsertItem和SettItemtext函数的用法简介
- CListCtrl用法简介和使用技巧
- CListCtrl控件中InsertItem和SettItemtext函数的用法简介
- CListCtrl控件中InsertItem和SettItemtext函数的用法简介
- CListCtrl控件中InsertItem和SettItemtext函数的用法简介
- CListCtrl用法简介及使用技巧(二)
- CListCtrl用法简介及使用技巧(二)
- CListCtrl用法简介(转)
- CListCtrl控件中InsertItem和SettItemtext函数的用法简介
- CListCtrl用法简介
- libvirt Java API用法连载之KVM/QEMU区别与libvirt简介(一)
- Select2用法简介
- CListCtrl的用法(转载)
- bitset用法简介
- ClistCtrl用法及总结(由怎样隐藏ListCtrl列表头的排序小三角形这个bug学习到的知识)
- Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm
- strrchr 函数用法简介