文档介绍:课题: 在MFC中创建应用程序的资源
目的要求:
掌握单文档中菜单的创建与使用
掌握快捷键,加速键的创建与使用
掌握工具条的创建与使用
学习重点难点:
菜单,快捷键,加速键,工具条,的创建与使用
学习难点:
菜单,快捷键,加速键,工具条,的创建与使用
教学课时:
教学方法:
教学内容与步骤:
在Windows的可执行文件中,资源是独立于代码的,piler进行编译,并嵌入到可执行文件中。在编程过程中,代码是可复用的,资源也是可复用的,通过资源的“导入”和“导出”功能来实现资源的可复用。
获取资源的一个样例
查看Windows(98/2000)系统中自带的纸牌游戏中的图片资源:
c:\Windows\ 或 c:\WINNT\System32
资源的应用: 菜单,快捷键,加速键,工具条
菜单资源的使用: 1,创建菜单资源并设置属性,2,添加菜单响应函数或消息处理函数
创建一个基于单文档结构的应用程序,在视图中显示一行字符串“Hello World!”,通过建立包含“显示”和“颜色选择”两个菜单项的“操作”菜单来控制字符串,菜单项“显示”用以控制字符串的显示与否,菜单项“颜色选择”中包含一个级连菜单,内容为“红”、“绿”和“蓝”三个菜单项。
菜单ID:弹出菜单不须另外设置ID,命令菜单设置
ID_OPER_RED
ID_OPER_GREEN
ID_OPER_BLUE
ID_OPER_SHOW
变量定义:程序运行需要的变量与运行机制有关
class CMy_ResView : public Cview
中的public处加入如下声明:
  COLORREF m_nColors[3]; //用户可选颜色数组
DWORD m_nColorIndex; // 当前所选颜色索引
CString m_strShow; // 显示的内容
BOOL m_bShow; // 是否显示
变量初始化:
在CMy_ResView::CMy_ResView()中初始化成员变量:
m_nColors[0] = RGB(255,0,0);
m_nColors[1] = RGB(0,255,0);
m_nColors[2] = RGB(0,0,255);
m_nColorIndex = 0;
m_strShow = "Hello World!";
m_bShow = TRUE;
绘图输出:
在void CMy_ResView::OnDraw(CDC* pDC)
中加入如下代码绘制字符串:
if(m_bShow)
{ pDC->SetTextColor(m_nColors[m_nColorIndex]);
// 设置输出字符串颜色
pDC->TextOut(100,100,m_strShow); // 输出字符串
}
若编译运行程序,可看到程序输出一行红色的字符串,但颜色设置菜单项还没有起作用
如何通过菜单项来控制程序:在介绍菜单项的响应时,必须先了解几个消息响应机制:
COMMAND消息的响应: 执行菜单命令
MAND_UI消息的响应:改变菜单状态,如选中或不选中,可用不可用等
MAN