如何为列表控件添加列

youlitai0116 2008-09-14 11:57:14
我建了一个LIst Control ,想添加几个列 ,然后去读 acess 数据库中的东东 。照例子:
在 OnInitDialog()中 CDialog::OnInitDialog()后添加:

m_userlist.InsertColumn(0,"用户ID",LVCFMT_LEFT,60);
m_userlist.InsertColumn(1,"用户名",LVCFMT_LEFT,100);
m_userlist.InsertColumn(2,"年龄",LVCFMT_LEFT,60);
m_userlist.InsertColumn(3,"生日",LVCFMT_LEFT,100);

在dig.h 中我定义: CListCtrl m_userlist;

编译无错 ,运行出现异常! 求教 谢!
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2008-09-15
  • 打赏
  • 举报
回复
先要修改为Report模式。
youlitai0116 2008-09-15
  • 打赏
  • 举报
回复
谢谢 楼上!按你的做法是可以了
问题就是上述描述的我只是声明 了变量,没有映射 。但我现在为IDC_LIST1映射变量m_userlist,也就是:
DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_userlist);
}


但异常时没了,但是还是没有在我的列表控件中 添加列! 还有可能是什么原因呢?
xsc2001 2008-09-15
  • 打赏
  • 举报
回复
如果你不是添加了一个ListCtrl控件再映射的ListCtrl变量的话,如果是直接定义,那肯定是因为你没有创建这个ListCtrl对象,因为你光是声明了一个变量,但是没有真正的创建Windows对象,所以添加列时出错了,你只需要在你添加列之前调用以后代码创建它即可。
m_userlist.Create(WS_CHILD | WS_BORDER | WS_VISIBLE | LVS_REPORT,CRect(0,0,200,100),this,2008);

youlitai0116 2008-09-15
  • 打赏
  • 举报
回复
晕 ~ 谢谢 楼上 结贴 睡觉了!

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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