Win32开发入门(16):ListView的多个视图

在上一个例子中,我们只用到了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"详细");

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索listview
, 图标
, 视图
, listview界面问题
, combobox
, view32 view
, c#listview图标间距
, 一个
, 两个listview联动
, ListView多选删除
, ListView多选
详细
,以便于您获取更多的相关知识。

时间: 2024-09-12 03:35:29

Win32开发入门(16):ListView的多个视图的相关文章

Win32开发入门(10) 绘图(C)

今天我们来欣赏一下用于填充图形的函数,当然我不会逐个去介绍,因为我们参考MSDN直接套参数 就可以了. SetDCBrushColor函数有必要扯一下,它的声明如下: COLORREF SetDCBrushColor( __in HDC hdc, __in COLORREF crColor ); 第二个参数,通过RGB宏产生COLORREF传进去就可以了,比如这样: SetDCBrushColor(ps.hdc,RGB(211,254,41)); 但是,如果只是调用这个函数,你会发现 在绘图的时

Win32开发入门(9) 绘图(B)

我们今天继续涂鸦,实践证明,涂鸦是人生一大乐趣. 首先,我们写一个程序骨架子,以便 做实验. #include <Windows.h> LRESULT CALLBACK MainWinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain( HINSTANCE hThisApp, HINSTANCE hPrevApp, LPSTR lpsCmdln, int iShow) { WNDCLASS wc

Win32开发入门(8) 绘图(A)

从本篇开始,我就不吹牛皮,那就吹吹兔皮吧.说说与绘图有关的东东. 要进行绘制,首先 要得到一个DC,啥是DC呢?按字面翻译叫设备上下文,也可以翻译为设备描述表,它主要指API为我们 封装了一些与显示设备相关的交互操作,我们这里说的是图形的绘制,自然指的是显卡.当然,对于同 一客观事物,世界上并不存在唯一的理解方案,技术上的东西最终拿来用的,不应该有硬性的去统一. 我们之中的很多人,最大的失败在于,人家说要这样理解他就毫不怀疑地这样理解,权威人士说要这样 这样,他就不经过大脑思考地跟着那样那样.

Win32开发入门(7) 多边形窗口

通常情况下,窗口都是一个矩形,不过,调用下面这个函数,可以自定义窗口的形状. int SetWindowRgn( __in HWND hWnd, __in HRGN hRgn, __in BOOL bRedraw ); 第一个参数是窗口的句柄,第二个参数也是一个句柄--HRGN,一个多边形的区域,可 以用CreatePolygonRgn函数来创建.第三个参数指定函数调用成功后是否重画窗口,如果窗口还没有显 示,就不必了,如果窗口已经显示,可以考虑设为TRUE. 我们创建用于显示窗口形状的区域句

Win32开发入门(4) 创建菜单

我们当然知道 ,现在,在实际开发中肯定不会像我这样写Win32程序的,你看,连个WinMain都要N行代码.但很多人 不明白什么叫学习,什么叫探索.实际上,通常能用于实际开发中的技巧只是占我们对客观世界的认识 总和不到20%,所以,如果你有兴趣计算一下,估计有80%的知识你不知道用到哪里去了.就算我们今后 不会把Win32程序投入到实际操作中,然而如果你了解过这东西,你会发现很多时候对我们是有帮助的 . 哪怕只是简单认识一下Win32的一些原理,相信对于日后编程的学习和成长,是有益处的. 为了提

Win32开发入门(3) 窗口的重绘

我们今天来吹一下关于窗口重绘的事情,在开始吹牛之前,我们先用上一篇博文中说到的方法写一 个简单的Win32应用程序.代码如下: #include <Windows.h> //先声明一下消息处理函数 LRESULT CALLBACK MyWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); // 入口点 int CALLBACK WinMain( HINSTANCE hInstance, HINSTANCE hPrvInst

Windows 8风格应用开发入门 五 ListView数据控件

什么是ListView数据控件? 1) ListView数据控件用来显示数据集合. 2) 继承自ItemsControl. 3) 大多数情况是纵向显示数据,显示的数据通常是排序过的. 4) 在切换到Snap View(贴靠视图)时,通常使用ListView显示数据集合. 开发入门 五 ListView数据控件-vba listview 控件"> 如何构建ListView数据控件? 首先我们需要了解一下ListView控件中一些重要属性和事件: 1) IsItemClickEnabled属性

Android开发入门(十六)其他视图 16.2 WebView

WebView能够让你在activity中去内嵌一个web浏览器.如果你的应用需要内嵌一些web内容的话,这是非 常有用的. 下面展示如何在activity中通过编码的方式去加载网页中的内容. 1. 新建一个工 程,WebView. 2. main.xml中的代码. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andr

Android开发入门(十六)其他视图 16.1 AnalogClock和DigitalClock

AnalogClock视图显示了一个模拟的时钟,其中有一个时针和一个分针.与其相对的是DigitalClock视图 ,它可以显示数字模拟时钟.这两个视图只能显示系统时间,不允许显示一个特定时区的时间.因此,如果 你想要显示一个特定时区的时间,那么你就不得不去实现你自己的自定义控件了. 注:关于如何自定 义控件,请查看如下网址. http://developer.android.com/guide/topics/ui/custom- components.html 使用AnalogClock与Di