ROWLIST 示例:演示如何在列表视图中选择整行

更新:2007 年 11 月

ROWLIST 示例阐释如何在 CListView MFC 公共控件类的报表模式中选择整行。此示例实现可重用的类 CListViewEx,它提供整行选择作为列表视图控件的附加查看模式。CListViewEx 使用所有者描述模式完成控件的所有绘图。您可以在自己的项目中直接使用该类或将它用作基类。ROWLIST 还阐释如何与列表视图控件一起使用状态和覆盖图像。

安全说明:

提供该示例代码是为了阐释一个概念,并不代表着最安全的编码实践,因此不应在应用程序或网站中使用该示例代码。对于超出本示例代码的预期用途以外的使用所造成的偶然或继发性损失,Microsoft 不承担任何责任。

获取示例和安装示例的说明:

  • 在 Visual Studio 的“帮助”菜单上,单击“示例”。

    有关更多信息,请参见定位示例文件

  • 示例的最新版本和完整列表可以从 Visual Studio 2008 Samples page(Visual Studio 2008 示例页面)联机获取。

  • 还可以在计算机的硬盘上查找示例。默认情况下,示例和自述文件将复制到 \Program Files\Visual Studio 9.0\Samples\ 下的文件夹中。对于 Visual Studio 速成版,所有示例都位于联机位置。

生成并运行示例

生成并运行 ROWLIST 示例

  1. 打开解决方案 rowlist.sln。

  2. 在“生成”菜单中单击“生成”。

  3. 在“调试”菜单中,单击“开始执行(不调试)”。

运行 ROWLIST 时,它显示一个视图为 CListView 派生类的单文档界面 (SDI) 应用程序。该视图具有表示不同颜色的项,以及有关这些项的附加数据。列表视图控件最初以报表模式出现,并启用了整行选择。“视图”菜单和工具栏允许选择其他查看模式。

状态图像最初设置为每项左边的一个空方框。如果单击一个状态图像,此项的图像成为标题栏上显示的图标。如果状态图像未显示,可双击一项以更改其状态。

CListViewEx 类

CListViewEx 类从 CListView 派生,它是一个实现整行选择模式的可重用类。该类为列表视图控件的所有者描述模式提供完全的支持,并通过为所有图像和标签实现绘图代码来提供整行选择。CListViewEx 显示与报表模式中完全相同的控件图像和标签,并添加了整行选择。该类只有两个附加的成员函数(与 CListView 相比):SetFullRowSelGetFullRowSel。这些函数用于设置或查询整行选择模式。

您可以通过直接使用该类或从该类派生类,在自己的项目中重用它。若要使用该类,最简单的方法是用应用程序向导创建一个具有 CListView 派生类的应用程序,然后将其基类改为 CListViewEx

与 CListView 一起使用状态和覆盖图像

ROWLIST 阐释了状态和覆盖图像的使用。状态图像最初设置为每项左边的一个空方框。如果单击一个状态图像,此项的图像成为标题栏上显示的图标。此项的状态图标相应地变为带有选中标记的方框。CRowListView::OnLButtonDown 包含在选定状态图标时插入选中标记的代码,和更改项的状态图标的代码。

如果状态图像未显示,则当前使用的图像将由它上面的覆盖图像(带有选中标记的灰色方框)标记。可通过双击更改项的状态,这还会打开或关闭覆盖图像。在 CRowListView::OnLButtonDblClk 中可以找到此双击的实现代码。

说明:

某些示例(如此示例)尚未经过修改以反映 Visual C++ 向导、库和编译器中所做的更改,但仍演示了如何完成所需的任务。

请参见

其他资源

MFC 示例