刚刚上手WTL,对C++GUI编程不熟悉的我倍加痛苦。下载WTL最新版8.1,可以自己在网上找。汉化WTL向导,然后放置在VS安装目录中。
新建一个MDI工程,为了方便添加类的成员函数,切记要创建.CPP文档。

不使用view,然后想添加内容,习惯的拖拽控件的我倍感手足无措。

重新建一个工程,加入ListViewCtrl视图。把使用类的部分COPY到上一个项目中,然后重新定义自己的CListViewCtrl类。

终于可以使用listviewctrl做为视图使用了。首先在OnCreate中给列表设置样式,并添加列:
this->SetExtendedListViewStyle(this->GetStyle()|LVS_EX_GRIDLINES | LVS_REPORT | LVS_EX_DOUBLEBUFFER);
this->ModifyStyle(0, LVS_SINGLESEL);//单选
执行后发现列表没有反应。但是在CChildFrame::OnCreate中给其添加数据是可以显示的。调试一下,发现代码执行过,但就是出不来,头大呀:google之,发现要在OnCreate中做一些处理:
LRESULT result = DefWindowProc();
if(result == -1)
&nbs

本文档记录了作者初次接触WTL框架,尝试使用CListViewCtrl进行重绘时遇到的问题及解决过程。从新建MDI工程到在OnCreate中设置列表样式,再到重载COwnerDraw实现自定义绘制,最终成功实现列表视图的重绘功能。在过程中遇到了列表无法显示和消息反射通知宏等问题,通过查阅资料和调试找到了解决方案。
重绘CListViewCtrl&spm=1001.2101.3001.5002&articleId=7018758&d=1&t=3&u=907f6f71274841169bb890bc78ab27d0)
3635

被折叠的 条评论
为什么被折叠?



