使用delphi文件和目录控件模拟windows资源管理器

Windows资源管理器是您在Windows操作系统中用来浏览文件和文件夹的工具。您可以使用Delphi创建类似的结构,以便在程序的用户界面中填充相同的内容。...

Windows资源管理器是您在Windows操作系统中用来浏览文件和文件夹的工具。您可以使用Delphi创建类似的结构,以便在程序的用户界面中填充相同的内容。

A group of computer programmers at work

常用对话框在Delphi中用于在应用程序中打开和保存文件。如果您想使用定制的文件管理器和目录浏览对话框,您必须处理文件系统Delphi组件。

Win 3.1 VCL调色板组包括几个组件,允许您构建自己的自定义“文件打开”或“文件保存”对话框:TFileListBox、TDirectoryListBox、TDriveComboBox和TFilterComboBox。

导航文件

文件系统组件允许我们选择驱动器,查看磁盘的分层目录结构,以及查看给定目录中文件的名称。所有文件系统组件都是为协同工作而设计的。

例如,您的代码检查用户对DriveComboBox所做的操作,然后将此信息传递给DirectoryListBox。然后,DirectoryListBox中的更改被传递到FileListBox,用户可以在其中选择所需的文件。

设计对话框窗体

启动一个新的Delphi应用程序,并选择组件调色板的Win 3.1选项卡。然后执行以下操作:

  • 在表单上放置一个TFileListBox、TDirectoryListBox、TDriveComboBox和TFilterComboBox组件,保留其所有默认名称
  • 添加一个TEdit(名为“FileNameEdit”)和一个TLabel(称为“DirLabel”)。
  • 包括一些带有标题的标签,如“文件名”、“目录”、“类型文件列表”和“驱动器”

要在DirLabel组件标题中将当前选定的路径显示为字符串,请将标签的名称指定给DirectoryListBox的DirLabel属性。

如果要在编辑框(FileNameEdit)中显示选定的文件名,必须将编辑对象的名称(FileNameEdit)指定给FileListBox的FileEdit属性。

更多的代码行

当表单上有所有文件系统组件时,只需设置DirectoryListBox.Drive属性和FileListBox.Directory属性,组件就可以通信并显示用户希望看到的内容。

例如,当用户选择新驱动器时,Delphi会激活DriveComboBox OnChange事件处理程序。让它看起来像这样:

procedure TForm1.DriveComboBox1Change(Sender: TObject) ;beginDirectoryListBox1.Drive := DriveComboBox1.Drive;end;

此代码通过激活其OnChange事件处理程序来更改DirectoryListBox中的显示:

procedure TForm1.DirectoryListBox1Change(Sender: TObject) ;beginFileListBox1.Directory := DirectoryListBox1.Directory;end;

要查看用户选择的文件,需要使用FileListBox的OnDblClick事件:

procedure TForm1.FileListBox1DblClick(Sender: TObject) ;beginShowmessage('Selected: '+ FileListBox1.FileName) ;end;

请记住,Windows惯例是双击选择文件,而不是单击一次。使用FileListBox时,这一点很重要,因为使用箭头键在FileListBox中移动会调用您编写的任何OnClick处理程序。

过滤显示器

使用FilterComboBox控制文件列表框中显示的文件类型。将FilterComboBox的FileList属性设置为FileListBox的名称后,将Filter属性设置为要显示的文件类型。

下面是一个示例过滤器:

FilterComboBox1.Filter := 'All files (*.*)|*.* | Project files (*.dpr)|*.dpr | Pascal units (*.pas)|*.pas';

提示

在运行时设置DirectoryListBox.Drive属性和FileListBox.Directory属性(在以前编写的OnChange事件处理程序中)也可以在设计时完成。通过设置以下属性(从对象检查器),可以在设计时完成此类连接:

DriveComboBox1.DirList := DirectoryListBox1DirectoryListBox1.FileList := FileListBox1

如果FileListBox的MultiSelect属性为True,则用户可以在其中选择多个文件。下面的代码演示如何在FileListBox中创建多个选择的列表,并在SimpleListBox(一些“普通”ListBox控件)中显示它。

var k: integer;...with FileListBox1 doif SelCount > 0 thenfor k:=0 to Items.Count-1 doif Selected[k] thenSimpleListBox.Items.Add(Items[k]) ;

若要显示未使用省略号缩短的完整路径名,请不要将标签对象名指定给DirectoryListBox的DirLabel属性。相反,在表单中插入标签,并在DirectoryListBox的OnChange事件中将其标题属性设置为DirectoryListBox.Directory属性。

  • 发表于 2021-09-22 21:09
  • 阅读 ( 177 )
  • 分类:数学

你可能感兴趣的文章

基本的windows运行命令备忘表

... ShortcutAction常用Windows工具探险家资源管理器c类:打开C:驱动器正则表达式注册表编辑器服务.mscWindows服务(本地)任务管理器任务管理器msconfig配置系统配置实用程序mstsc公司远程桌面(Microsoft终端服务客...

  • 发布于 2021-03-18 15:02
  • 阅读 ( 235 )

适用于windows pc的6个最佳播客管理器

...你用的是Windows电脑,想收听播客,那么最好的选择就是使用桌面客户端。下面是一些适用于windows10和各种音响发烧友的最佳播客管理器。 ...

  • 发布于 2021-03-20 04:12
  • 阅读 ( 629 )

如何在树莓皮上用retropie玩dreamcast游戏

... 然而,我们最喜欢的Windows选项是打开文件资源管理器并输入设备名,以便通过Samba访问它。您只需要\\retropie,就会显示远程设备目录。浏览到正确的文件夹后,跨文件夹复制目录。 ...

  • 发布于 2021-03-25 01:32
  • 阅读 ( 246 )

如何在windows10上使用命令提示符打开文件资源管理器

虽然有更快捷的方法打开文件资源管理器,例如使用键盘快捷键,但在Windows10中,可以使用命令提示符打开当前目录(或任何其他目录)中的文件管理器。下面是方法。 使用命令提示符打开文件资源管理器 首先,通过打开“...

  • 发布于 2021-04-01 11:09
  • 阅读 ( 172 )

如何在windows10上使用无鼠标的文件资源管理器

...indows 10的文件管理器中包含键盘快捷键。您可以启动文件资源管理器,并完全使用它与键盘,而不必触摸鼠标。它不是诺顿指挥官,但它非常友好键盘。 启动文件资源管理器 要从Windows系统的任何位置启动文件资源管理器,请...

  • 发布于 2021-04-02 09:48
  • 阅读 ( 253 )

鼠标扩展器使windows导航更容易

在Windows7中使用新的任务栏导航要容易得多,但是在一个中心位置上使用所有内容可能会更容易。鼠标扩展器是一个免费的实用程序,它允许您更轻松地浏览窗口。 鼠标扩展器 这个方便的实用程序不需要安装,可以从闪存驱动...

  • 发布于 2021-04-14 01:19
  • 阅读 ( 74 )

windows 7或vista资源管理器的“向上”快捷键

Windows7和Vista中新的资源管理器窗口没有向上按钮,这让我非常兴奋。谢天谢地,我找到了键盘快捷键的替代品。 注意:这些截图来自Vista,但在windows7中的效果相同。 假设我在x:\wpmu\wp content目录中。当然,我通常可以单击路径...

  • 发布于 2021-04-14 13:52
  • 阅读 ( 146 )

在windows资源管理器中模拟OSX的finder侧栏

默认的Windows资源管理器侧栏通常是“系统任务和其他位置”视图或“文件系统树”是导航文件系统的便捷方式,但如果您是Mac前用户或您更喜欢类似Mac的“收藏夹”侧栏,它允许您定义要通过拖放快速访问的文件夹,weblog Underys...

  • 发布于 2021-07-31 13:07
  • 阅读 ( 83 )

如何将媒体文件嵌入delphi可执行文件(rc/.res)(embed media files into a delphi executable (rc/.res))

使用声音和动画等多媒体文件的游戏和其他类型的应用程序必须随应用程序一起分发额外的多媒体文件,或者将文件嵌入可执行文件中。 您可以将原始数据作为资源添加到应用程序中,而不是分发单独的文件供应用程序使用...

  • 发布于 2021-09-06 15:08
  • 阅读 ( 195 )

理解delphi项目和单元源文件

...含可由所有应用程序表单共享的通用源代码信息。 除非使用包含程序图标和版本信息的Windows资源文件(RES),否则无法编译Delphi项目。它还可能包含其他资源,如图像、表格、光标等。RES文件由Delphi自动生成。 注意:以DPR...

  • 发布于 2021-09-06 15:15
  • 阅读 ( 175 )
zhong0943125
zhong0943125

0 篇文章

相关推荐