基于Clistctrl的CMyBroadFilelist无法加入列

a741a2006 2006-08-11 10:25:50
在SDI下新建了一个FORMVIEW的Dialog,创建基于CFORMVIEW类的CView类并与之关联。给FORMVIEW拉了一个List Ctrl控件ID为IDC_LIST_BROADFILE,用Class Wizard创建了一个基于Clistctrl的类CMyBroadFilelist将其与IDC_LIST_BROADFILE关联。
我在CView类定义了一个CMyBroadFilelist变量m_nBroadFile。在CView类的OnInitialUpdate()初始化List Ctrl;代码如下:
void CView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();

// TODO: Add your specialized code here and/or call the base class
static struct
{
LPSTR psztext;
int ui;
}columns[]={
_T("文件名"),LVCFMT_LEFT,
_T("路径"),LVCFMT_LEFT
};
for(int i=0;i<sizeof(columns)/sizeof(columns[0]);i++)
m_nBroadFile.InsertColumn(i,columns[i].psztext,columns[i].ui,100);
LVITEM lvi;
lvi.mask = LVIF_TEXT | LVIF_IMAGE;
lvi.iItem = 0;
// lvi.iImage = i;
lvi.iSubItem = 0;
// lvi.s=0;
lvi.pszText = "";
InsertItem(&lvi);
m_nBroadFile.SetItemText(lvi.iItem,0,"王明");
m_nBroadFile.SetItemText(lvi.iItem,1,"李娜");


运行后,我所要显示的列都没有显示出来,List ctrl控件只在第一行显示了“王明”;而“李娜”没有被显示出来。请问大家这是怎么回事啊?

...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ignoramuspp 2006-08-12
  • 打赏
  • 举报
回复
如果是因为Styles的问题,倒也没什么好说的,你可以看看msdn,因为list的不同的风格支持不同的样式。
要是因为InsertItem(&lvi)的问题,那就是因为你忘了指定控件而已。
snowbirdfly 2006-08-12
  • 打赏
  • 举报
回复
呵呵~`
InsertItem(&lvi);
但是你要指定对象,即往那个列表对象中插入~~
a741a2006 2006-08-12
  • 打赏
  • 举报
回复
谢谢 ignoramuspp(ignoramus) 用你的方法已经解决了


请问一下 ignoramuspp(ignoramus) 为什么这边要这样修改呢?

分数稍后再给,我不知道给分之后会不会结帖
ignoramuspp 2006-08-11
  • 打赏
  • 举报
回复
还有你是不是用的LVS_REPORT的Styles
你在前面加上
m_nBroadFile.ModifyStyle(LVS_TYPEMASK,LVS_REPORT&LVS_TYPEMASK);
试试
ignoramuspp 2006-08-11
  • 打赏
  • 举报
回复
InsertItem(&lvi);
m_nBroadFile.SetItemText(lvi.iItem,0,"王明");
m_nBroadFile.SetItemText(lvi.iItem,1,"李娜");
改成
m_nBroadFile.InsertItem(&lvi);
m_nBroadFile.SetItemText(lvi.iItem,0,"王明");
m_nBroadFile.SetItemText(lvi.iItem,1,"李娜");
ignoramuspp 2006-08-11
  • 打赏
  • 举报
回复
InsertItem(&lvi);
m_nBroadFile.SetItemText(lvi.iItem,0,"王明");
m_nBroadFile.SetItemText(lvi.iItem,1,"李娜");
改成
nBroadFile.InsertItem(&lvi);
m_nBroadFile.SetItemText(lvi.iItem,0,"王明");
m_nBroadFile.SetItemText(lvi.iItem,1,"李娜");

15,975

社区成员

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

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