如何实现动态添加和删除CListCtrl中的列?

AdamsLee 2003-10-19 10:15:27
用户可以选择添加或者删除CListCtrl中的列
...全文
259 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flywlsj 2003-10-21
  • 打赏
  • 举报
回复
DeleteAllItems();
InsertColumnint nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1 );
InsertItem(i,strSN,j);
SetItemText(i,j,strStatoin);
自己试试吧!
daylight1980 2003-10-21
  • 打赏
  • 举报
回复
我知道你的意思。、
1、BOOL DeleteColumn( int nCol );在删除列的时候最好使用
int nColumnCount = pmyListCtrl->GetHeaderCtrl()->GetItemCount();
// Delete all of the columns.
for (int i=0;i < nColumnCount;i++)
{
pmyListCtrl->DeleteColumn(0);
}
不然删除很有可能会出错。
2、int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1 );
也是一样的,如果你已经插入过此列。则回顺序往后推的。并非自己所要的列。

综上:1、定义数据列表。缓存数据
2、每次做插入的之前删除所有数据。在列表内操作之后在顺序插入。
3、每次删除的时候同样是对列表操作。之后在顺序插入。

愚笨之法,仅做参考!



howtotell 2003-10-19
  • 打赏
  • 举报
回复
好象有InsertColume函数.
huanyun 2003-10-19
  • 打赏
  • 举报
回复
BOOL DeleteColumn( int nCol );

int InsertColumn( int nCol, const LVCOLUMN* pColumn );

int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1 );

hahu 2003-10-19
  • 打赏
  • 举报
回复
m_list.InsertColumn(0,"Col 1",LVCFMT_LEFT,300,2); 函数
添加以后
Invalidate();看看

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧