关于MFC中CListCtrl::InsertColumn()和InsertItem()和SetItemText()的一些认识
2015-07-28 01:34
435 查看
才开始写博客,有很多不懂的或者表达不清楚的,请谅解!还有因为是自己在自学,所有可能有些话是错的,所以请朋友们看到后留言指出错误,大家一起学习,非常感谢!!
刚刚在学习MFC中的List Control控件的时候遇到一些问题,就是InsertColumn()和InsertItem()和SetItemText()这几个函数。我是看的和我弟学校合作的培训学校的视频学习的,那个老师虽然能力还不错,但是表达能力不是很好,有很多的地方都是简单的提一下,然后知道需要这么做,但是不知道为什么需要这样,以及这样的含义。搞得我弟现在都在说信息量好大,确实是的,我也是才在开始自学,感觉MFC就是这样。各种函数,控件等等。。。。。想要学好就必须下来下死功夫,查资料,解决问题。好了,进入正题。
InsertItem()和SetItemText()是一起用的,前者是表示向List控件申请一行来放数据,请记住,只是申请哦!而存放数据,对它进行具体操作的又是SetItemText()。这里值得一提的是如果不先调用InsertItem(),是没有用的哦,我最开始就是感觉好奇,不明白为什么才去查资料的。后来明白了,InsertItem()仅仅是申请而已。
关于InsertItem()和SetItemText()的使用示例:
前面已经增加好了一个m_list控件变量,
这样的显示效果等会再统一上传。
刚刚那个只是表的内容,还需要写每一列的最上面的标题,就像一个excel中的学号,姓名,性别这些。而用到的函数就是InsertColumn();它使用的示例如下:
m_list.InsertColumn(0,_T("卡号"),LVCFMT_CENTER,60);//表明添加一个名称:卡号
m_list.InsertColumn(1,_T("密码"),LVCFMT_CENTER,60);//添加密码名称
附上MSDN查询
int InsertItem( int nItem, LPCTSTR
lpszItem );
int InsertItem( int nItem, LPCTSTR
lpszItem, int nImage );
int InsertItem( UINT nMask, int nItem, LPCTSTR
lpszItem, UINT nState, UINT
nStateMask, int nImage, LPARAM
lParam );
nSubItem, LPTSTR lpszText );
Return Value
Nonzero if successful; otherwise zero.
Parameters
nItem
Index of the item whose text is to be set.
nSubItem
Index of the subitem, or zero to set the item label.
lpszText
Pointer to a string that contains the new item text.
pColumn );
int InsertColumn( int nCol, LPCTSTR
lpszColumnHeading, int nFormat = LVCFMT_LEFT, int
nWidth = -1, int nSubItem = -1 );
由于今晚太晚,先睡觉啦,我弟一直再催我睡觉,空了再继续更。写得很乱,瞌睡有点来了,大家将就看。不懂的或者有错误的就回复我,谢谢!
刚刚在学习MFC中的List Control控件的时候遇到一些问题,就是InsertColumn()和InsertItem()和SetItemText()这几个函数。我是看的和我弟学校合作的培训学校的视频学习的,那个老师虽然能力还不错,但是表达能力不是很好,有很多的地方都是简单的提一下,然后知道需要这么做,但是不知道为什么需要这样,以及这样的含义。搞得我弟现在都在说信息量好大,确实是的,我也是才在开始自学,感觉MFC就是这样。各种函数,控件等等。。。。。想要学好就必须下来下死功夫,查资料,解决问题。好了,进入正题。
InsertItem()和SetItemText()是一起用的,前者是表示向List控件申请一行来放数据,请记住,只是申请哦!而存放数据,对它进行具体操作的又是SetItemText()。这里值得一提的是如果不先调用InsertItem(),是没有用的哦,我最开始就是感觉好奇,不明白为什么才去查资料的。后来明白了,InsertItem()仅仅是申请而已。
关于InsertItem()和SetItemText()的使用示例:
前面已经增加好了一个m_list控件变量,
<pre class="cpp" name="code">m_list.InsertItem(0,_T("111"));//这个_T("111")可以随便修改,也可以直接设置为NULL的。但是每插入一行数据就必须//写这个函数,这个第一个参数就是已经存在的条数。最开始是为0,依次递增 m_list.SetItemText(0,0,_T("卡一"));//第一行第一列是卡一 m_list.SetItemText(0,1,_T("密码一"));//第一行第一列是密码一
这样的显示效果等会再统一上传。
刚刚那个只是表的内容,还需要写每一列的最上面的标题,就像一个excel中的学号,姓名,性别这些。而用到的函数就是InsertColumn();它使用的示例如下:
m_list.InsertColumn(0,_T("卡号"),LVCFMT_CENTER,60);//表明添加一个名称:卡号
m_list.InsertColumn(1,_T("密码"),LVCFMT_CENTER,60);//添加密码名称
附上MSDN查询
CListCtrl::InsertItem
int InsertItem( const LVITEM* pItem );int InsertItem( int nItem, LPCTSTR
lpszItem );
int InsertItem( int nItem, LPCTSTR
lpszItem, int nImage );
int InsertItem( UINT nMask, int nItem, LPCTSTR
lpszItem, UINT nState, UINT
nStateMask, int nImage, LPARAM
lParam );
CListCtrl::SetItemText
BOOL SetItemText( int nItem, intnSubItem, LPTSTR lpszText );
Return Value
Nonzero if successful; otherwise zero.
Parameters
nItem
Index of the item whose text is to be set.
nSubItem
Index of the subitem, or zero to set the item label.
lpszText
Pointer to a string that contains the new item text.
CListCtrl::InsertColumn
int InsertColumn( int nCol, const LVCOLUMN*pColumn );
int InsertColumn( int nCol, LPCTSTR
lpszColumnHeading, int nFormat = LVCFMT_LEFT, int
nWidth = -1, int nSubItem = -1 );
由于今晚太晚,先睡觉啦,我弟一直再催我睡觉,空了再继续更。写得很乱,瞌睡有点来了,大家将就看。不懂的或者有错误的就回复我,谢谢!
相关文章推荐
- POJ 3259 BellmanFord算法和poj2240几乎一样
- 杭电ACM2036java做法
- Leetcode #63 Unique Paths II
- php利用socket函数模拟发送http请求
- ob缓存函数使用-【页面静态化】
- WDS服务器使用华为DHCP中继响应的方法
- php常用算法
- header中content-type的配置项
- 二次分发举例
- php.ini帮助理解
- 读书笔记MoreEffectiveC++(19)
- 最大流dinic模板
- Leetcode Q6:ZigZag Conversion
- 深入掌握JMS(八):JMSReplyTo
- apache自带压力测试
- android Github-Client(ANDROID)开源之旅(三) ------ 巧用ViewPagerIndicator
- ubuntu笔记
- AutoCAD2013中曲线的绘制方法
- AutoCAD2013中曲线的绘制方法
- 指针变量复习