CListCtrl控件中InsertItem和SetItemText函数及CTreeCtrl::SetItemText
来源:互联网 发布:linux dpkg rpm 编辑:程序博客网 时间:2024/05/10 13:56
如果不先调用InsertItem这个函数,后面的SetItemText函数写了,也不起作用。
InsertItem在MSDN中的函数原型如下
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 );
一般我们用的比较多的时第2种和第三种,其中第三种时建立一个带有头标的项
要调用第三个,可以先声明一个CImageList对象
m_ImageList.Create(16,16,true,2,2);
m_ImageList.Add(theApp.LoadIcon(IDR_MAINFRAME));
m_ListCtrl.SetImageList(&m_ImageList,LVSIL_SMALL);
这样,控件中的每一行的开头就有一个应用程序图标
现在转入正题,先介绍一下InsertItem个个参数的意义
nItem: 控件中行的索引
lpszItem : 控件头的名字
.........................................................................................................................................................................................................
SetItemText函数的原型
BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );
******************注意这个函数中的参数nItem就是INSERTITEM中的NITEM,
也就是说InsertItem是向控件声请一行来放数据,记住只是声请,那么方数据的工作就又SETITEMTEXT来实现
举例如下:
CListCtrl m_listctrl;
m_listctrl = new ClistCtrl();
m_listctrl.Creae(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS
,bigRect,this,IDC_LIST1
);
m_listctrl.InsertItem(0,"01");
m_SetItemtext(0,1,"1");
m_SetItemtext(0,2,"2");
至于要添多少多少个数据,就由你的控件由多少列了
获得可以这样的道 int columns= m_listctr.GetHeaderCtrl()->GetItemCount();
获得可以这样的道 int rows= m_listctrl.GetItemCount();
listctrl 设置风格
//获得原有风格
DWORD dwStyle = ::GetWindowLong(m_listctrl.m_hWnd, GWL_STYLE);
dwStyle &= ~(LVS_TYPEMASK);
dwStyle &= ~(LVS_EDITLABELS);
//设置新风格
SetWindowLong(m_listctrl.m_hWnd, GWL_STYLE,dwStyle, |LVS_REPORT | LVS_NOLABELWRAP | LVS_SHOWSELALWAYS);
//设置扩展风格
DWORD styles = LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES;
ListView_SetExtendedListViewStyleEx(m_listctrl.m_hWnd, styles, styles );
其中LVS_EX_FULLROWSELECT 就是前面说得整行选中
LVS_EX_GRIDLINES 网格线(只适用与report风格的listctrl)
LVS_EX_CHECKBOXES 前面加个checkbox
pListCtrl->SetExtendedStyle( m_listctrl.GetExtendedStyle() | LVS_EX_SUBITEMIMAGES);
- CListCtrl控件中InsertItem和SetItemText函数及CTreeCtrl::SetItemText
- CListCtrl控件中InsertItem和SetItemText函数
- CListCtrl控件中InsertItem和SetItemText函数
- CListCtrl控件中InsertItem和SetItemText函数
- CListCtrl控件中InsertItem和SetItemText函数
- CListCtrl控件中InsertItem和SetItemText函数
- CListCtrl::SetItemText和CTreeCtrl::SetItemText
- CListCtrl InsertItem和SetItemText
- CListCtrl控件的InsertItem和SetItemText和SetItem三个函数的区别
- CListCtrl控件的InsertItem和SetItemText和SetItem三个函数的区别
- VC++中InsertItem和SetItemText的区别
- CListCtrl 类中InsertItem, InsertColumn, SetItemText 的使用
- 关于MFC中CListCtrl::InsertColumn()和InsertItem()和SetItemText()的一些认识
- SetItemText
- ClistCtrl的SetItemText函数不能显示数据
- CListCtrl控件中InsertItem和SettItemtext函数的用法简介
- 怎样使用CListCtrl控件中InsertItem和SettItemtext函数
- CListCtrl控件中InsertItem和SettItemtext函数的用法简介
- 监听手机拨打电话的状态 private PhoneStateListener getPhoneStateListener()
- CSS和JS结合控制样式
- CodeBlocks下的freeglut环境配置(一)(附图文)
- 封装C++实现Window和Linux下多线程Socket通信
- Intellij13 IDEA常用快捷键 (mac 10.5 +),优化,使用出现的问题汇总(转)
- CListCtrl控件中InsertItem和SetItemText函数及CTreeCtrl::SetItemText
- 在Linux下使用“360随身WiFi 2” ubuntu适用
- Substring with Concatenation of All Words【LeetCode】
- 用java实现右键菜单
- Java对话框Dialog
- ubuntu 配置java环境
- ubuntu快捷方式的创建
- C#基础学习之【1】文件操作
- ipv6& dns