- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 菜单和相关资源的使用 7.1 菜单消息与消息映射 菜单资源的编辑和加载 1)选择菜单命令“插入→资源”,在打开的对话框中,选择“资源类型”列表框中的“Menu”,单击“新建”按钮,表示要新建菜单资源 。 2)用资源编辑器编辑菜单。 3)资源描述文件(.rc)文件的存盘。 4)选择菜单命令“工程→添加工程→Files” ,往工程里添加.rc文件和resource.h文件。 5)在程序代码中加入文件包含命令:#include resource.h。 6)修改程序代码中的InitInstance()函数,把函数中的p-Create(0, “chen”)语句换成语句p-LoadFrame(IDR_MENU1)。 菜单消息的消息映射和消息处理 1)菜单消息 当单击某个带有ID号的菜单项时,会发出消息标识符为WM_COMMAND的命令消息。要区别不同的菜单项,就要用到WM_COMMAND消息的附加参数。 WM_COMMAND消息的附加参数wParam中存放着菜单项的ID号,根据此消息附加参数就可知道是那个菜单项发出的WM_COMMAND消息。 2)菜单消息映射 WM_COMMAND消息与前面所讲的消息有所不同,它的消息映射不是ON_WM_COMMAND(),同时它的处理函数也不是OnCommand()。 它的消息映射是ON_COMMAND(),ON_COMMAND()消息映射的映射方式是: ON_COMMAND(菜单项的ID,此菜单项的处理函数) 7.2 用图标美化程序 选择菜单命令“插入→资源”,在打开的对话框中选择“Icon”(图标)资源,单击“新建”按钮,表示要新建一个图标。 用图标资源编辑器编辑图标,图标会以位图文件的形式放在工程的资源文件夹中 。 在图标标识IDI_ICON1上单击鼠标右键,选择“Properties”,把图标的ID号IDI_ICON1改成与菜单一样的ID号,程序在加载菜单的同时也加载了图标。 7.3 使用快捷键 快捷键要和菜单执行相同的操作,它也发出WM_COMMAND命令消息。 快捷键资源的编辑和定义 1)主菜单的快捷键不用定义,系统规定是Alt+下划线字母。 2)子菜单的快捷键先编辑,后定义。 快捷键的使用 把快捷键的ID改成与菜单的ID一致即可。 7.4 字符串表和状态栏 字符串表资源的生成 状态栏由CStatusBar类支持 状态栏的使用步骤: 1)在窗口类的定义中加入一个CStatusBar类的对象,CStatusBar *pstatusbar。 2)在窗口类的构造器中用new运算符,为pstatusbar动态分配内存, pstatusbar=new CStatusBar。 3)在源文件中定义一个全局数组,这个全局数组规定了状态栏的特征, UINT Indicator[]={ID_SEPARATOR,ID_INDICATOR_CAPS, ID_INDICATOR_NUM,ID_INDICATOR_SCRL}。 其中数组中的元素的含义依次是: ID_SEPARATOR,分割符,增加分割符能增加状态栏的分割区域个数,在第一个区域显示菜单提示。 ID_INDICATOR_CAPS,键盘上Caps Lock键的状态提示。 ID_INDICATOR_NUM,键盘上Num Lock键的状态提示。 ID_INDICATOR_SCRL,键盘上Scroll Lock键的状态提示。 4)加入WM_CREATE消息的消息映射,并在其处理函数中加载状态栏。 int CMainWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { pstatusbar-Create(this);//创建状态栏,this表示当前窗口的指针。 pstatusbar-SetIndicators(Indicator,4); //设置状态栏,Indicator为全局数组名,4为数组元素的个数。 } 7.5 工具栏的使用 工具栏编辑和定义 工具栏由CToolBar类支持 工具栏的使用步骤: 1)在窗口类的定义中加入CToolBar类对象:CToolBar toolbar。 2)在OnCreate()函数中加入下面代码,以创建工具栏和加载工具栏资源。 toolbar.Create(this);//创建工具栏 toolbar.LoadToolBar(IDR_TOOLBAR1);//加载工具栏资源。 toolbar.
原创力文档


文档评论(0)