我爱Aspx >> Asp.Net >> Visual C++2005中开发自定义绘图控件现在,我们来测试新控件。要进行此操作,您只需使用 CListCtrlWithCustomDraw 类将列表视图控件放在对话框中,并对其进行子类派生。下面是完成该操作的步骤。
·在 Resource 视图中,打开应用程序的主对话框 (IDD_LISTCTRLCOLOR_DIALOG)。
·从 Toolbox 中,将一个 List Control 拖放到该对话框。
·右键单击列表控件,并选择 Properties 上下文菜单选项。
·将 View 属性设置为 Report。
·右键单击控件,并选择 Add Variable 上下文菜单选项。
·出现 Add Member Variable Wizard 对话框时,指定 m_lstBooks 的 Variable name,并单击 Finish 按钮。
·这时,您就有了一个 CListCtrl 派生类 (m_lstBooks),它将对话框上的列表视图控件进行子类派生。然而,m_lstBooks 需要从最新创建的 CListCtrlWithCustomDraw 派生,以便于调用您的绘制代码。因此,打开对话框的标题文件 (ListCtrlColorDlg.h),将 m_lstBooks 更改为 CListCtrlWithCustomDraw 类型。
·在 CListCtrlColorDlg 类开始之前,添加以下指令。
| #include "ListCtrlWithCustomDraw.h" |
·将下面的代码添加到对话框的 OnInitDialog 成员函数,这样我们就能够看到一些列表视图行。
| // Insert the columnsm_lstBooks.InsertColumn(0, _T("Author"));m_lstBooks.InsertColumn(1, _T("Book"));// Define the datastatic struct { TCHAR m_szAuthor[50]; TCHAR m_szTitle[100];} BOOK_INFO[] = { _T("Tom Archer"), _T("Visual C++.NET Bible"), _T("Tom Archer"), _T("Extending MFC with the .NET Framework"), _T("Brian Johnson"), _T("XBox 360 For Dummies")};// Insert the dataint idx;for (int i = 0; i < sizeof BOOK_INFO / sizeof BOOK_INFO[0]; i++){ idx = m_lstBooks.InsertItem(i, BOOK_INFO[i].m_szAuthor); m_lstBooks.SetItemText(i, 1, BOOK_INFO[i].m_szTitle);} |
·现在,建立并运行应用程序。图 1 为应用程序外观的一个示例。
图 1. 自定义绘制示例应用程序
|
当 Windows 首次作为“下一代”操作系统引入到应用程序开发之中时,它作为新图形用户界面的一个主要论据就是其一致性。该论据的要点所在是其具有一个通用的外观:统一的菜单项、通用控件等。这一通用性的感觉可能会一直延续,直到有第二家公司想设计其自己的应用程序。简单说,提供外观与其他应用程序雷同的应用程序,任何公司都不会逃离这一怪圈。
要建立一个唯一的且让人过目难忘的用户界面,其中一种方式是为应用程序设计并开发自定义的控件。希望本文能对您有所帮助,现在,您了解到一种非常强大的技术,它使您的应用程序能从众多竞争对手的应用程序中脱颖而出。
Ҷƪл˵?
在C#中建立复杂的、灵活的SQL查询..[03-17]
VS2005+Crystal Report开发Web应..[03-17]
ASP.NET 2.0服务器控件之客户端功..[03-17]
ASP.NET+Atlas创建客户端Web应用..[03-17]
基于ASP.NET技术的驾校网页设计[03-17]
ASP.NET+Atlas创建客户端Web应用..[03-17]
ASP.NET 2.0服务器控件之客户端功..[03-17]
基于ASP.NET技术的驾校网页设计[03-17]
ASP.NET 2.0服务器控件开发之简单..[03-17]
为.NET程序批上WPF的绚丽外衣[03-17]