VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 409|回复: 9

[求助] CListView如何使用自定义的CListCtrl

[复制链接]
71_avatar_middle
在线会员 zzw843 发表于 2018-2-28 10:55:13 | 显示全部楼层 |阅读模式
3驿站币
如题,自己写了个基类为CListCtrl的CMyListCtrl类,对列表框进行绘制,现在想CListView也有我绘制的效果,想了以下的办法,但是都没能实现:
1、强制将GetListCtrl()转换为CMyListCtrl,效果还是原来默认的效果。
2、使用子类化,在PreSubClassWindow通过SubClassWindow将GetListCtrl()句柄传递给CMyListCtrl的变量,编译没错,运行时报错,在我的CMyListCtrl中使用了子类化CHeaderCtrl,不知道这个会不会影响。
求大神帮忙分析。

这个是子类化m_list.SubclassWindow(GetListCtrl().m_hWnd);下面是报断点是的图片
TIM截图20180228105402.png

最佳答案

查看完整内容

确实不行,试了多种办法! 也可以参考下这篇帖子的讨论:http://bbs.csdn.net/topics/70430002 所以貌似只能是:在FormView里面创建一个ListCtrl,在FormView大小变化时移动它以充满整个窗口




上一篇:请教C++Primer中的一个实例
下一篇:驱动用代码实现安装

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-2-28 10:55:14 | 显示全部楼层
zzw843 发表于 2018-3-1 11:04
谢谢了,工程传上

确实不行,试了多种办法!
也可以参考下这篇帖子的讨论:http://bbs.csdn.net/topics/70430002
所以貌似只能是:在FormView里面创建一个ListCtrl,在FormView大小变化时移动它以充满整个窗口

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-2-28 11:19:05 | 显示全部楼层
在 CListView 的 OnCreate 里面执行这个语句:
// CListCtrlEx m_lstctrl; // in your header file
m_lstctrl.SubclassWindow(GetListCtrl().GetSafeHWnd());
楼主可以试试,看看好用不

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

71_avatar_middle
ico_lz  楼主| zzw843 发表于 2018-2-28 11:48:45 | 显示全部楼层
本帖最后由 zzw843 于 2018-2-28 11:50 编辑
Syc 发表于 2018-2-28 11:19
在 CListView 的 OnCreate 里面执行这个语句:
// CListCtrlEx m_lstctrl; // in your header file
m_lst ...


CListView如何使用自定义的CListCtrl还是不行,这次是报错,下边是图片,再帮忙看看,我忽略以后错误跳到我的CListCtrl中子类化CHeaterCtrl的语句,下边是图片
CListView如何使用自定义的CListCtrl
CListView如何使用自定义的CListCtrl

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-2-28 12:02:10 | 显示全部楼层
zzw843 发表于 2018-2-28 11:48
还是不行,这次是报错,下边是图片,再帮忙看看,我忽略以后错误跳到我的CListCtrl中子类化CHe ...

我 2# 说的是子类化的代码加在 CListView 的 OnCreate 里,看你的截图貌似不是啊

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

71_avatar_middle
ico_lz  楼主| zzw843 发表于 2018-3-1 08:17:42 | 显示全部楼层
Syc 发表于 2018-2-28 12:02
我 2# 说的是子类化的代码加在 CListView 的 OnCreate 里,看你的截图貌似不是啊

我是在CListView的OnCreate里子类化我的CMyListCtrl,截图那是我的CMyListCtrl在PreSubClassWindow里子类化CHeaterCtrl,我试了放到OnCreate也是同样的错误。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

71_avatar_middle
ico_lz  楼主| zzw843 发表于 2018-3-1 08:31:14 | 显示全部楼层
Syc 发表于 2018-2-28 12:02
我 2# 说的是子类化的代码加在 CListView 的 OnCreate 里,看你的截图貌似不是啊

我将CHeaderCtrl子类化放到CListView的OnCreate中也是同样报异常中断
  1. int CMFCApplication1View::OnCreate(LPCREATESTRUCT lpCreateStruct)
  2. {
  3.         if (CListView::OnCreate(lpCreateStruct) == -1)
  4.                 return -1;

  5.         // TODO:  在此添加您专用的创建代码
  6.         m_list.SubclassWindow(GetListCtrl().GetSafeHwnd());
  7.         m_header.SubclassWindow(GetListCtrl().GetHeaderCtrl()->GetSafeHwnd());
  8.         return 0;
  9. }
复制代码

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-3-1 10:54:49 | 显示全部楼层
zzw843 发表于 2018-3-1 08:31
我将CHeaderCtrl子类化放到CListView的OnCreate中也是同样报异常中断

方便的话代码发上来我本地测试下看看

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

71_avatar_middle
ico_lz  楼主| zzw843 发表于 2018-3-1 11:04:48 | 显示全部楼层
Syc 发表于 2018-3-1 10:54
方便的话代码发上来我本地测试下看看

谢谢了,工程传上

MFCApplication1.zip

226.04 KB, 下载次数: 1

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

71_avatar_middle
ico_lz  楼主| zzw843 发表于 2018-3-1 14:35:49 | 显示全部楼层
Syc 发表于 2018-3-1 11:49
确实不行,试了多种办法!
也可以参考下这篇帖子的讨论:http://bbs.csdn.net/topics/70430002
所以貌 ...

谢谢Syc,真是辛苦了,现在也只能这样了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

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

GMT+8, 2018-12-11 05:07

Powered by Discuz! X3.4

© 2009-2018 cctry.com

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