在做 一个模块时发现一个问题:
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 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_listctrl.SetItemtext(0,1,"1"); m_listctrl.SetItemtext(0,2,"2");查阅资料介绍 InsertItem SetItemtext 是配合使用的
前者向控件声请一行来放数据,只是声请
放数据的工作就又SETITEMTEXT来实现
但是今天看到一源码用
int InsertItem( const LVITEM* pItem );这种方式
事先定义
LVITEM lvitem;
lvitem.mask=LVIF_TEXT;
最后从获得对应记录集数据存放在
str(CString)中lvitem.pszText=str;
通过 m_ctrl.InsertItem(&lvitem);
我分析这条语句 不仅向控件声请一行来放数据
还向(0,0)位置插入了数据?
难道同一个函数 参数不同 功能有异?
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 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_listctrl.SetItemtext(0,1,"1"); m_listctrl.SetItemtext(0,2,"2");查阅资料介绍 InsertItem SetItemtext 是配合使用的
前者向控件声请一行来放数据,只是声请
放数据的工作就又SETITEMTEXT来实现
但是今天看到一源码用
int InsertItem( const LVITEM* pItem );这种方式
事先定义
LVITEM lvitem;
lvitem.mask=LVIF_TEXT;
最后从获得对应记录集数据存放在
str(CString)中lvitem.pszText=str;
通过 m_ctrl.InsertItem(&lvitem);
我分析这条语句 不仅向控件声请一行来放数据
还向(0,0)位置插入了数据?
难道同一个函数 参数不同 功能有异?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货