表3-3 常用虚拟键
种类 功能键 方向键 翻页键 VK_F1(F1)~VK_F12(F12) VK_UP(↑)、VK_DOWN(↓)、VK_LEFT(←)、VK_RIGHT(→) VK_PRIOR(PageUp/PgUp)、VK_NEXT(PageDown/PgDn) 虚拟键 运算符键 VK_ADD(+)、VK_SUBTRACT(-)、VK_MULTIPLY(*)、VK_DIVIDE(/) 插删键 始末键 其他键 退格键VK_BACK(←BackSpace)、回车键VK_RETURN(Enter<─┘) 5. 设置键的类型
? 单击快捷键编辑器窗口中该条目的“类型”栏。
? 或选中快捷键属性窗口中行为栏的“Type”属性项的右栏。
可以从下拉式列表中选择VIRTKEY(默认)/ASCII,指定键值的类型是虚拟键还是ASCII字符,一般采用默认的虚拟键类型。
注意:
? 快捷键中不能使用单个Alt键作为修饰符,因为它是Windows系统保留的专用菜
单快捷(访问)键的修饰符,用于在应用程序中选择菜单条或打开某个顶层菜单。 ? 应避免在同一应用程序中有多个ID使用同一快捷键。
VK_INSERT(Insert/Ins)、VK_DELETE(Delete/Del) VK_HOME(Home)、VK_END(End) 逃逸键VK_ESCAPE(Esc)、空格键VK_SPACE、跳格键VK_TAB(Tab)、3.快捷键的资源文本
Student例的快捷键在资源文件Student.rc中自动生成的对应文本段为(按ID的字母顺序排列,粗体字为新增加的部分):
///////////////////////////////////////////////////////////////// //
// Accelerator //
IDR_MAINFRAME ACCELERATORS
21
BEGIN
\VIRTKEY, CONTROL, NOINVERT VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT VK_DELETE, ID_EDIT_CUT, VIRTKEY, SHIFT, NOINVERT \ \VIRTKEY, CONTROL, NOINVERT VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT, NOINVERT VK_BACK, ID_EDIT_UNDO, VIRTKEY, ALT, NOINVERT \ \
VIRTKEY, CONTROL, NOINVERT
\VIRTKEY, CONTROL, NOINVERT \VIRTKEY, CONTROL, NOINVERT \VIRTKEY, CONTROL, NOINVERT VK_F6, ID_NEXT_PANE, VIRTKEY, NOINVERT
VK_F6, ID_PREV_PANE, VIRTKEY, SHIFT, NOINVERT \ID_NAME_ZS, VIRTKEY, SHIFT, NOINVERT \VIRTKEY, SHIFT, NOINVERT \ID_NAME_WW, \ID_TEST, END
VIRTKEY, SHIFT, NOINVERT VIRTKEY, CONTROL, NOINVERT
3.2.5 添加菜单项图标
菜单项图标(图像标识,logo)用于菜单项的可视化标识,一般与工具条上对应的图标一致,不过尺寸要小一些。但是,VC在菜单编辑器和属性窗口中,并没有提供添加菜单项图标的功能。为了给菜单项添加图标,必须先创建图标的位图资源,然后再在初始化函数中编写设置菜单项图标的代码。
注意:因为菜单项的图标和选中图符占用同一位置,所以它们是互相排斥的。添加了图标的菜单项,就不再会出现选中图符了。
22
1.创建位图资源
菜单项图标所用的位图要求是12像素宽×11像素高,16色(4位)或256色(8位)。位图可以使用VS提供的位图编辑器进行手工绘制和编辑,也可以从已有的位图文件导入。下面是创建位图资源的具体操作步骤:
1) 添加位图资源——有两种方法,方法1使用添加资源对话框,适用于所有情形;方
法2则直接插入位图资源,只适用于项目资源中已有位图资源的情形(默认的项目资源中是没有位图资源的)。
? 方法1:将项目区切换到“资源视图”页,在资源文件项(如“Student\\ Student.rc”)
上按鼠标右键。在弹出的资源快捷菜单中选“添加资源”菜单项,参见图3-14。再在弹出的“添加资源”对话框中,选中“Bitmap”项,按“新建”钮,参见图3-15。
图3-14 资源快捷菜单
图3-15 添加资源对话框
图3-16 位图快捷菜单
? 方法2:如果原来项目资源中已有位图资源,则可在资源视图页中展开资源项,
并直接定位里面的位图项Bitmap(如“Student\\ Student.rc\\Bitmap”),并在其上按鼠标右键,然后在弹出的位图快捷菜单中选“插入Bitmap”项,参见图3-16。 则VC会自动创建一个ID为IDB_BITMAPi(其中i=1、2、??)的新(空白)位图资源项,并打开位图编辑器供你编辑,参见图3-17。可以利用新出现的“图像”菜单(参见图3-18)、“图像编辑器”工具条(参见图3-19)和“颜色”窗口中的调色板进行图形绘制,具体使用方法似Windows操作系统在“附件”程序组中提供的“画图”程序。可以通过在颜色调色板中的色块上单击左/右鼠标键,来设置当前绘图所用的前/背景色。
23
图3-17 位图编辑器
图3-18 图像菜单(左)及其工具子菜单(右)
图3-19 图像编辑器工具条
2) 导入现有位图——如果已有现存的位图文件可供使用,则可以利用图3-15所示的
“添加资源”对话框来到入现有位图。做法是,选对话框左边“资源类型”栏中的“Bitmap”项,再选右边的“导入”按钮,在弹出的“导入”文件对话框中,选择想要图片文件。可以导入多种类型和格式的图片,如bmp、gif、jpg、png等位图文件,ico图标文件和cur光标文件。在导入图片文件后,VS也会创建一个新的位
24
图资源项IDB_BITMAPi,并打开位图编辑器,装入位图文件供你编辑。 3) 编辑位图
? 打开位图节点属性窗口:选中资源页中的位图ID(如IDB_BITMAP1),在IDE
右边的工具箱/属性/颜色区,选中颜色,则系统会打开对应的位图节点属性窗口,参见图3-20 a)。
a)
b)
图3-20 位图节点器属性窗口
? 修改位图文件名:在属性窗口的Filename项中,将原来的文件名(如
res\\bitmap1.bmp)改为指定的文件名(如res\\math.bmp)。
? 修改位图ID:在属性窗口中的ID项中,将原ID(如IDB_BITMAP1)修改为
指定的ID(如IDB_MATH),按回车键完成修改,参见图3-20 b)。
? 打开位图编辑器属性窗口:单击位图编辑器中的位图网格区,则系统会打开对
应的位图编辑器属性窗口,参见图3-21 a)。
? 修改位图文件名:在属性窗口的Filename项中,将原来的文件名(如
d:\\Student\\res\\bitmap1.bmp)改为指定的文件名(如d:\\Student\\res\\math.bmp)。
a)
b)
25