CListCtrl添加一列(InsertColumn())为什么老是有异常? m_ctrlList.InsertColumn(1,Head,LVCFMT_LEFT,-1,-1);//此句出现异常改成m_ctrlList.InsertColumn(0,Head,LVCFMT_LEFT,-1,-1);从0开始 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如:m_ctrList.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,CRect(10,10,400,200), this, 10001);m_ctlList.InsertColumn(....); LV_COLUMN lvcol;m_ListCtrl.ModifyStyle(LVS_TYPEMASK, LVS_REPORT);m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);// add head of listCtrllvcol.mask = LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;lvcol.fmt = LVCFMT_RIGHT;nCountI = 0;lvcol.pszText = "列名1";lvcol.iSubItem = nCountI;lvcol.cx = 120;//宽度m_ListCtrl.InsertColumn(nCountI++, &lvcol);lvcol.fmt = LVCFMT_LEFT;lvcol.pszText = "列名2";lvcol.iSubItem = nCountI;lvcol.cx = 80;m_ListCtrl.InsertColumn(nCountI++, &lvcol); 从0开始我也试过了,还是一样。Create应该在CListCtrl m_ctrlList;的构造函数里执行了吧? void CUserListView::OnInitialUpdate() { CListView::OnInitialUpdate(); m_smallImageList.Create(16, 16, FALSE, 1, 0); m_largeImageList.Create(32, 32, FALSE, 1, 0); HICON hIcon = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_SMALL_ICON)); m_smallImageList.Add(hIcon); hIcon = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_SMALL_ICON)); m_largeImageList.Add(hIcon); //设置用户列表的图象 GetListCtrl().SetImageList(&m_smallImageList, LVSIL_SMALL); GetListCtrl().SetImageList(&m_largeImageList, LVSIL_NORMAL); // Create the columns. LVCOLUMN lvColumn; lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; lvColumn.fmt = LVCFMT_CENTER; lvColumn.cx = 75; lvColumn.iSubItem = 0; lvColumn.pszText = "姓名"; GetListCtrl().InsertColumn(0, &lvColumn); lvColumn.iSubItem = 1; lvColumn.pszText = "性别"; GetListCtrl().InsertColumn(1, &lvColumn); lvColumn.iSubItem = 2; lvColumn.pszText = "所属区域"; GetListCtrl().InsertColumn(2, &lvColumn); lvColumn.iSubItem = 3; lvColumn.pszText = "在线时间"; GetListCtrl().InsertColumn(3, &lvColumn); lvColumn.iSubItem = 4; lvColumn.pszText = "用户ID"; GetListCtrl().InsertColumn(4, &lvColumn);} 构造函数中应该是不会CREATE的,建议你还是试试我的方法,我做过测试的 构造函数是不会自动调用CREATE的。所以要自己调用CREATE函数。或者你定义一个指针让其指向一个已存在的LISTCTRL你还是试试我的方法吧 CWeixin类更新了,做PC版微信功能更强大 mfc的开发在行业内处于什么状态? 编译问题 如何获得控件在对话框中的坐标?? 请问Windows下如何实现一个消息队列? 简单问题:解决拉给分! 讨论mfc著作,快进啊。 《菜鸟问题---如何把CComBSTR改变为Char型?》 求问各位大神 MFC如何采集外部音频 请大家介绍一下使用异常处理的经验好吗? 聚焦搜索引擎(网络爬虫)? 如何把API中的空闲处理服务程序用MFC实现
m_ctrList.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,CRect(10,10,400,200), this, 10001);
m_ctlList.InsertColumn(....);
m_ListCtrl.ModifyStyle(LVS_TYPEMASK, LVS_REPORT);
m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
// add head of listCtrl
lvcol.mask = LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvcol.fmt = LVCFMT_RIGHT;
nCountI = 0;
lvcol.pszText = "列名1";
lvcol.iSubItem = nCountI;
lvcol.cx = 120;//宽度
m_ListCtrl.InsertColumn(nCountI++, &lvcol);
lvcol.fmt = LVCFMT_LEFT;
lvcol.pszText = "列名2";
lvcol.iSubItem = nCountI;
lvcol.cx = 80;
m_ListCtrl.InsertColumn(nCountI++, &lvcol);
{
CListView::OnInitialUpdate(); m_smallImageList.Create(16, 16, FALSE, 1, 0);
m_largeImageList.Create(32, 32, FALSE, 1, 0); HICON hIcon = ::LoadIcon (AfxGetResourceHandle(),
MAKEINTRESOURCE(IDI_SMALL_ICON));
m_smallImageList.Add(hIcon);
hIcon = ::LoadIcon (AfxGetResourceHandle(),
MAKEINTRESOURCE(IDI_SMALL_ICON));
m_largeImageList.Add(hIcon); //设置用户列表的图象
GetListCtrl().SetImageList(&m_smallImageList, LVSIL_SMALL);
GetListCtrl().SetImageList(&m_largeImageList, LVSIL_NORMAL); // Create the columns.
LVCOLUMN lvColumn;
lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvColumn.fmt = LVCFMT_CENTER;
lvColumn.cx = 75; lvColumn.iSubItem = 0;
lvColumn.pszText = "姓名";
GetListCtrl().InsertColumn(0, &lvColumn);
lvColumn.iSubItem = 1;
lvColumn.pszText = "性别";
GetListCtrl().InsertColumn(1, &lvColumn); lvColumn.iSubItem = 2;
lvColumn.pszText = "所属区域";
GetListCtrl().InsertColumn(2, &lvColumn);
lvColumn.iSubItem = 3;
lvColumn.pszText = "在线时间";
GetListCtrl().InsertColumn(3, &lvColumn); lvColumn.iSubItem = 4;
lvColumn.pszText = "用户ID";
GetListCtrl().InsertColumn(4, &lvColumn);
}
所以要自己调用CREATE函数。
或者你定义一个指针让其指向一个已存在的LISTCTRL你还是试试我的方法吧