Win32开发入门(16):ListView的多个视图2013-06-06 csdn tcjiaan在上一个例子中,我们只用到了ListView的Report视图,也就是详细视图。本文我们再把上一篇文 章中所用的例子进行一下扩展,例子源码可以到俺的资源区下载。我们为ListView中显示的数 据加上图标,并且允许用户选择显示哪种视图,如大图标,小图标,详细信息等。因为代码还 比较长,我也不希望把代码全部放出来,在写完本文后,我会将源码上传到资源中。当然了,我也不可 能说每一行代码都解释一遍,那也不现实,而且,这样也不好,我不能主观地去怀疑读者的领悟能力。一、准备图标既然要用到图标,为了简单方便,就用VS的资源编辑器随便画几下就有图 标了,我们要准备两个图标,为什么呢?第一个图标是给EXE文件用的,而第二个图标是用在ListView 中的。因为在生成的.exe文件的图标是选用我们最先添加到资源中的图标,为了使.EXE文件的图标和我 们在ListView中用的图标不要一样(这样不好看),所以我们还是准备两个图标好一点。图标 中具备两个尺寸就够了——16*16和32*32,如果可能尽量用24位图,这样你能用更多的颜色。二、如何切换视图改变ListView的视图,可以使用ListView_SetView宏,发送LVM_SETVIEW消息 也可以,不过使用宏更方便。它的第一个参数指定LV控件的句柄,第二个参数是设置用哪个视图。LV_VIEW_DETAILS——详细视图。LV_VIEW_ICON——大图标列表。LV_VIEW_LIST ——列表视图。LV_VIEW_SMALLICON——小图标。LV_VIEW_TILE——平铺,如果我没记 错的话,这个视图是在XP时引入的。三、ComboBox控件使用为了可以让用户选择一个视 图,自然要提供对应的操作界面,这是一种多选一的方式,用单选按钮和下拉拉表框都可以,不过,单 选按钮要占用更多地方而且处理的消息更多,相对麻烦,所以,还是ComboBox好一些。用 ComboBox_AddString宏就可以向ComboBox中添加项,比如本例。
// 初始化ComboBox,以选择视图 hcbb = GetDlgItem(hDlg, IDC_CBVIEW); ComboBox_AddString(hcbb, L"大图标"); ComboBox_AddString(hcbb, L"小图标"); ComboBox_AddString(hcbb, L"列表"); ComboBox_AddString(hcbb, L"详细");