一、Windows的图标、光标、字符串和自订资源
大多数Windows程序都包含一个自订的图标,Windows将该图标显示在应用程序窗口标题列的左上角。当程序被列在「开始」菜单中,被显示在屏幕底部的工作列中,被列在Windows Explorer中,或者作为快捷方式显示在桌面上时,Windows也显示该程序的图标。有些程序-大部分是像小画家一类的图形绘制工具-也使用自订鼠标光标来表示程序的不同操作。还有许多Windows程序使用菜单和对话框。菜单、对话框加上滚动条,这是标准Windows使用者接口的卖点。
图标、光标、菜单和对话框都是相互关联的,它们是Windows的全部资源型态。资源即数据,它们被储存在程序的.EXE文件中,但是它们并非驻留在程序的数据区域中。也就是说,资源不能从程序原始码中定义的变量直接存取,Windows提供函数直接或间接地把它们加载内存以备使用。我们已经遇到了两个这样的函数,即LoadIcon和LoadCursor,它们出现在范例程序,定义窗口类别结构的内容设定叙述中。它们从Windows中加载二进制图标和光标映象,并传回该图标或光标的句柄。在本章中,我们先建立自己的图标,它会从程序自己的.EXE文件中载入。
在本书中,我们将讨论这些资源:
-
图示
-
游标
-
字符串
-
自订资源
-
菜单
-
键盘快捷键
-
对话框
-
位图
前六个资源在本章讨论,对话框在第十一章讨论,而位图在第十四章讨论。
图标、光标、字符串和自订资源
使用资源的好处之一,在于程序的许多组件能够连结编译进程序的.EXE文件中。如果没有资源这一个概念,如图标图像之类的二进制文件可能会存放在单独的文件中,.EXE会把它读入内存中使用。或者图标不得不在程序中以字节数组的形式定义(这样就无法看到实际的图标图像了)。作为资源,图标储存在开发者计算机上可单独编辑的文件中,但在编译程序中被连结编译进.EXE文件中。