VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 606|回复: 2

MFC ListContorl Virtual List怎么用?

[复制链接]
35_avatar_middle
最佳答案
0 
online_vip 发表于 2019-10-30 20:18:29 | 显示全部楼层 |阅读模式
一、创建一个 MFC Dialog窗口
二、创建一个继承于ClistView类的MyListView
三、代码初始化
GetListCtrl().ModifyStyle(0, LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING);
        GetListCtrl().SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_OWNERDATA | LVS_EX_DOUBLEBUFFER | LVS_OWNERDRAWFIXED);
        GetListCtrl().InsertColumn(0, _T("数据1"), LVCFMT_LEFT, 70);
        GetListCtrl().InsertColumn(1, _T("数据2"), LVCFMT_LEFT, 180);
        GetListCtrl().InsertColumn(2, _T("数据3"), LVCFMT_LEFT, 350);
        GetListCtrl().InsertColumn(3, _T("数据4"), LVCFMT_LEFT, 100);
        GetListCtrl().SetBkColor(RGB(0, 0, 0));
四、响应 ON_NOTIFY_REFLECT(LVN_GETDISPINFO, &CCpuListView::OnLvnGetdispinfo)  消息
五、声明容器 vector<CPUASSEMBLEINFO> m_Cpulistdata;
六、给 m_Cpulistdata 压入数据:
        GetListCtrl().DeleteAllItems();
        m_Cpulistdata.clear();
        for (int i = 0; i < 100; i++)//先加入  1000个数据  
        {
                CPUASSEMBLEINFO cpuinfo;
                memcpy(cpuinfo.name, TEXT("1111111111"), sizeof(wchar_t) * wcslen(TEXT("1111111111")));
                memcpy(cpuinfo.old, TEXT("2222222"), sizeof(wchar_t) * wcslen(TEXT("2222222")));
                memcpy(cpuinfo.high, TEXT("33333333"), sizeof(wchar_t) * wcslen(TEXT("33333333")));
                memcpy(cpuinfo.Annotation, TEXT("444444444"), sizeof(wchar_t) * wcslen(TEXT("444444444")));
                m_Cpulistdata.push_back(cpuinfo);
        }
        GetListCtrl().SetItemCount(m_Cpulistdata.size());//当执行这个函数时就会发送 LVN_GETDISPINFO 这个消息。
        GetListCtrl().Invalidate();
七、运行以后,发现一个问题, LVN_GETDISPINFO 居然没有响应,这是为什么?
八、如果不创建MyListView类,而是在Dialog里面拉入ListContorl控件,再绑定一个对象m_List,这样的话LVN_GETDISPINFO会有响应,这是什么道理?




上一篇:CRgn 如何实现两个窗口的并集,实现游戏窗口
下一篇:VC工程Win10下控件尺寸和字体设置问题
81_avatar_middle
最佳答案
3 
online_supermod 发表于 2019-10-30 21:37:02 | 显示全部楼层
ON_NOTIFY_REFLECT(LVN_GETDISPINFO, &CCpuListView::OnLvnGetdispinfo)
是放在哪个类中了?
35_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-10-30 23:58:41 | 显示全部楼层
Debug 发表于 2019-10-30 21:37
ON_NOTIFY_REFLECT(LVN_GETDISPINFO, &CCpuListView::OnLvnGetdispinfo)
是放在哪个类中了?

ON_NOTIFY_REFLECT(LVN_GETDISPINFO, &CCpuListView::OnLvnGetdispinfo)
放在了MyListView类中的
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-9-24 23:06

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表