VC++编程:分割视图与列表控件应用详解

需积分: 9 0 下载量 192 浏览量 更新于2024-07-14 收藏 433KB PPT 举报
"本文主要介绍了如何在VC++中进行风格设定和数据显示及编辑,特别是针对分割视图编程的步骤。内容涵盖了分割视图的静态和动态类型,以及如何创建和填充视图。此外,还详细讲解了FORM类型对话框的创建和列表控件的使用方法。" 在VC++中开发应用程序时,视图分割是一种常见的布局技术,可以分为静态和动态两种。静态视图分割意味着视图是不同类的,用户只能调整窗口大小,而不能改变视图的数量。动态视图分割则允许视图的数量和大小都发生变化,所有视图都是同一类的实例。 创建静态视图通常涉及`CSplitterWnd`类的使用。首先,调用`CreateStatic`函数来确定视图的行数和列数,例如`m_splitter.CreateStatic(this, 1, 2)`创建了一个1行2列的视图。接着,使用`CreateView`函数将特定类的视图填充到这些网格中,如`m_splitter.CreateView(0, 0, RUNTIME_CLASS(FormDlg), CSize(100, 100), pContext)`,这里`FormDlg`是FORM视图类的运行时类名。 FORM类型对话框结合了对话框界面和视图类的特性,其创建过程不同于普通对话框。资源应设为IDD_FORMVIEW,基类通常为`CFormView`。在`Mainfrm.h`中声明一个`CSplitterWnd`成员变量,并在主框架类中用类向导添加`OnCreateClient()`函数,在这个函数中编写创建分割视图的代码。 对于列表控件的使用,首先在资源中插入一个列表控件并将其视图模式设置为报告。然后,通过类向导为控件添加CONTROL型变量,如`m_list`,并设置风格,如`m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);`,这将启用网格线和全行选择。接着,设定列标题,例如`m_list.InsertColumn(0, "SNO", LVCFMT_CENTER, 80);`。最后,插入数据,如`m_list.InsertItem(0, "080101")`,`m_list.SetItemText(0, 1, "1")`和`m_list.SetItemText(0, 2, "100")`。如果需要从数据库加载数据,可以通过自定义函数`LoadData()`实现循环添加。 VC++的视图分割编程涉及多个步骤,包括创建和填充视图,以及设置列表控件的风格和数据。这些技术对于构建复杂且用户友好的界面至关重要。