Delphi 7使用自定义图标关联文件类型
5.2 Delphi编程(40)

版权声明:本文为博主原创文章,未经博主允许不得转载。
在开发过程中,我们经常需要属于自己的文件类型,自定义的后缀名不仅可以防止用户双击直接改动其中的内容,还可以根据后缀名形象的表示此文件代表的含义。在Delphi 7中要实现关联文件图标、关联文件打开,并且关联的图标可以自己指定,而仅非只能使用应用程序的标题图标。
1.新建一个应用程序工程,准备两个ICO图标,其中一个作为应用程序的图标,另一个作为文件关联显示的图标;
2.在工程目录下新建一个“MyIco.rc”文件(可参考《Delphi 7资源文件的使用》),写入以下内容:
|
myIco ICON "LetterB.ico" |
在菜单栏→“Project”→“Add to project...”,将此.rc文件加入工程中;
3.为应用程序设置图标和标题,菜单栏→“Project”→“Options”→”Application“,加载"LetterA.ico";
4.在窗体上放置两个按钮,单元文件全部代码如下:
|
01 |
|
unit Unit1; |
5. 编译运行程序。点击“关联”按钮,然后Win+R,输入“regedit”,打开注册表编辑器,定位到“HKEY_CLASSES_ROOT/.who”,可看到右边有个默认项,其数据指向“WhoFile”,然后再定位到“HKEY_CLASSES_ROOT/WhoFile”,可以看到已经为此类型文件绑定了图标和文件打开方式。如下图所示:
6.在任意地方新建一个文本文档,改其全部名称为“test.who”,可以看到图标已经变化,双击此文件,效果如下图所示:

7.另外,也可以通过应用程序的快捷方式查看程序所带的所有图标,右键“Project1.exe”,选择“创建快捷方式”,右键此快捷方式,选择“属性”,点击“更改图标”,可以看到如下图所示:

版权声明:本文为博主原创文章,未经博主允许不得转载。
在开发过程中,我们经常需要属于自己的文件类型,自定义的后缀名不仅可以防止用户双击直接改动其中的内容,还可以根据后缀名形象的表示此文件代表的含义。在Delphi 7中要实现关联文件图标、关联文件打开,并且关联的图标可以自己指定,而仅非只能使用应用程序的标题图标。
1.新建一个应用程序工程,准备两个ICO图标,其中一个作为应用程序的图标,另一个作为文件关联显示的图标;
2.在工程目录下新建一个“MyIco.rc”文件(可参考《Delphi 7资源文件的使用》),写入以下内容:
| myIco ICON "LetterB.ico" |
在菜单栏→“Project”→“Add to project...”,将此.rc文件加入工程中;
3.为应用程序设置图标和标题,菜单栏→“Project”→“Options”→”Application“,加载"LetterA.ico";
4.在窗体上放置两个按钮,单元文件全部代码如下:
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
)); ) + ) + '",1'); //为0则为LetterA.ico图标,为1为LetterB.ico reg.CloseKey; finally reg.Free; end; SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_IDLIST,nil,nil); //刷新显示 end; {------------------------------------------------------------------------------- Description: 撤销关联文件类型 -------------------------------------------------------------------------------} procedure TForm1.btn2Click(Sender: TObject); var reg: TRegistry; begin reg := TRegistry.Create; try reg.RootKey := HKEY_CLASSES_ROOT; reg.DeleteKey('.Who'); reg.DeleteKey('WhoFile'); finally reg.Free; end; SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_IDLIST,nil,nil); end; end. |
5. 编译运行程序。点击“关联”按钮,然后Win+R,输入“regedit”,打开注册表编辑器,定位到“HKEY_CLASSES_ROOT/.who”,可看到右边有个默认项,其数据指向“WhoFile”,然后再定位到“HKEY_CLASSES_ROOT/WhoFile”,可以看到已经为此类型文件绑定了图标和文件打开方式。如下图所示:
6.在任意地方新建一个文本文档,改其全部名称为“test.who”,可以看到图标已经变化,双击此文件,效果如下图所示:

7.另外,也可以通过应用程序的快捷方式查看程序所带的所有图标,右键“Project1.exe”,选择“创建快捷方式”,右键此快捷方式,选择“属性”,点击“更改图标”,可以看到如下图所示:
Delphi 7使用自定义图标关联文件类型的更多相关文章
- 实现1.双击自动关联文件类型打开 2.PC所有驱动器 3.小型资源管理器
感谢各位这里实现:双击自动关联文件类型打开 2.PC所有驱动器 3.小型资源管理器!! 首先主页面: 2.运用DriveInfo驱动器的信息:获得整个系统磁盘驱动!!,运用frorach循环遍历到Tr ...
- 「案例」重新设计 Adobe 的文件类型图标
Adobe 的品牌设计团队负责为公司旗下桌面端.移动端和 web 端的产品进行品牌设计.品牌元素的形式很多,可以是两个字母的产品 logo,应用启动界面,产品里的图标等等. 一个很常见却常被忽视的品牌 ...
- 在Delphi中使用系统对应文件类型的图标
在应用程序的编写中,组合框(ComboBox).列表框(ListBox).等常见的部件,通常不仅要用于显示文字,而且还要显示其与文字相关的图标.在一般的Windows应用程序中,这些图标的显示都要随列 ...
- delphi 动态获取文件类型的图标
delphi 动态获取文件类型的图标.txt我不奢望什么,只希望你以后的女人一个不如一个.真怀念小时候啊,天热的时候我也可以像男人一样光膀子!在应用程序的编写中,组合框(ComboBox).列表框(L ...
- Delphi 注册文件类型 设置文件图标
{------------------------------------------------------------------------------- @过程名: slpert -& ...
- 与众不同 windows phone (38) - 8.0 关联启动: 使用外部程序打开一个文件或URI, 关联指定的文件类型或协议
[源码下载] 与众不同 windows phone (38) - 8.0 关联启动: 使用外部程序打开一个文件或URI, 关联指定的文件类型或协议 作者:webabcd 介绍与众不同 windows ...
- 七、IntelliJ IDEA 常见文件类型的图标介绍
咱们已经了解了很多关于 IntelliJ IDEA 的内容啦,例如,在 Windows 系统下安装 IntelliJ IDEA.运行 IntelliJ IDEA .创建 Java 项目以及修改 Int ...
- delphi中的各种文件类型介绍【转】
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- Delphi 文件类型
该内容整理自以下链接 http://www.cnblogs.com/chenyunpeng/archive/2012/08/02/2620513.html 1.DPR: Delphi Project文 ...
随机推荐
- JavaPersistenceWithHibernate第二版笔记-第六章-Mapping inheritance-003Table per concrete class with unions(@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)、<union-subclass>)
一.代码 1. package org.jpwh.model.inheritance.tableperclass; import org.jpwh.model.Constants; import ja ...
- Mysql笔记——触发器简单实例
首先贴上触发器语法吧: CREATE TRIGGER <触发器名称> –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象. { BEFOR ...
- hadoop 1.2.1 eclipse 插件编译
hadoop-1.2.1 eclipse插件编译 在ubuntu上进行hadoop相关的开发,需要在eclipse上安装hadoop开发插件.最新释放出的hadoop包含源码的包,以had ...
- 把properties放到src的package中
eclipse在buildporject的时候会自动将properties文件拷贝到/build下的相应的package中
- C#服务启动以及服务指令
Windows系统中使用 cmd 命令安装和卸载服务方法如下: 第一种方法: 1. 开始->运行->cmd 2. cd到C:\WINDOWS\Microsoft.NET\Framework ...
- IRQ和FIQ中断的区别【转】
转自:http://blog.csdn.net/michaelcao1980/article/details/19542039 FIQ和IRQ是两种不同类型的中断,ARM为了支持这两种不同的中断,提供 ...
- 在windows系统上安装VMware Workstation虚拟机,然后在虚拟机VMware Workstation上安装linux系统,在linux系统安装xshell的服务端,在windows系统上安装xshell。用windows系统上的xshell连接到linux
第一步:安装xshell: 去百度 xshell ,然后安装一下就可以了.就是普通的软件安装,在这里不做过多的接收. 第二步:安装虚拟机VMware Workstation 百度安装,不做过介绍 ...
- psycopg2.pool – Connections pooling / psycopg2.pool – 连接池 / postgresql 连接池
创建新的PostgreSQL连接可以是一个昂贵的操作.这个模块提供了一些纯Python类直接在客户端应用程序实现简单的连接池. class psycopg2.pool.AbstractCon ...
- ADB安装应用报错 Segmentation fault pm install /data...
路径一定不能有中文…… 路径一定不能有中文…… 路径一定不能有中文…… 路径一定不能有中文…… 路径一定不能有中文……
- git cheatsheet小抄本
https://www.kernel.org/pub/software/scm/git/docs/git.html