WEB开发网
开发学院软件开发VC 用Visual C++打造自己的资源管理器 阅读

用Visual C++打造自己的资源管理器

 2008-11-14 19:37:09 来源:WEB开发网   
核心提示:Windows的资源管理器想必大家都用过,该程序的窗口一分为二,用Visual C++打造自己的资源管理器,左边的窗口显示本机当前所有驱动器以及驱动器中的所有文件夹,当用户单击文件夹后,大家知道DWORD是一个32位的值,足以包括所有的英文字母,如果该文件夹下面还有子文件夹,则上层文件夹展开显示下级的文件夹;否则

Windows的资源管理器想必大家都用过,该程序的窗口一分为二,左边的窗口显示本机当前所有驱动器以及驱动器中的所有文件夹,当用户单击文件夹后,如果该文件夹下面还有子文件夹,则上层文件夹展开显示下级的文件夹;否则,右边的窗口显示选择文件夹下的文件。那么这个程序是如何实现的呢?为了说明这个问题,本实例打造了一个简易的资源管理器,它实现了Windows资源管理器的主要功能,在显示文件的属性(如文件的文件名、文件的大小、文件的创建时间)的同时,还可以改变文件显示的方式,如大小图标方式、列表方式等。本实例代码编译运行后的界面效果如图一所示:

用Visual C++打造自己的资源管理器

图一、资源管理器界面效果图

下载本文源代码

一、 实现方法

从上面的界面效果图可以看出,在程序中使用了拆分窗口,在拆分的过程中,左边窗口为CTreeView 类的子类CLeftView,右边的窗口为CListView类的子类CdriveExplorerView。窗口的拆分和CTreeView、CListView类不是本实例讲述的重点,相关的知识在本书的实例中都有介绍,读者朋友可以参阅上述内容及实例的原代码,这里主要介绍程序中一些具体的细节知识。

资源管理器中一个重要的问题是如何得到本机中的驱动器信息,微软提供的有关驱动器的API函数有GetLogicalDrives(),GetDriveType()。

对于喜欢操作位和字节的汇编语言使用者来说,GetLogicalDrives()是个很好用的API函数。它以位掩码的形式返回逻辑驱动器。即在一个DWORD类型的返回值中,位0(最小的一位)表示驱动器A,位1表示驱动器B,以此类推。每一个位的状态如果是on,则表示对应的逻辑驱动器存在;否则状态为off,表示对应的逻辑驱动器不存在。大家知道DWORD是一个32位的值,足以包括所有的英文字母,也就是说最多可有26个盘符。

1 2  下一页

Tags:Visual 打造 自己

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接