- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章工具栏和状态栏
第6章 工具栏和状态栏 菜单是用户选择命令的一个最常用、也是最重要的手段。然而,在Windows应用程序中,为方便用户使用,通常将常用的菜单项提取出来组成工具栏(例如常用的文件菜单项New、Open等,编辑菜单项Copy、Cut、Paste等),工具栏也是Windows应用程序中常见的用户界面。在很多情况下,工具栏可以更快捷、方便、有效、直观地实现某些操作。 第6章 工具栏和状态栏 工具栏一般位于主框架窗口的上部,上面有一些图形按钮。当用户用鼠标在某一按钮上单击时,程序就会执行相应的命令;当鼠标在按钮上停留片刻后,就会弹出一个黄色小窗口并显示工具提示。工具栏提供了一种比菜单更快捷的用户接口。在一个标准的Windows应用程序中,工具栏的大部分按钮执行的命令与菜单命令相同,这样做的目的是能同时提供形象和抽象的用户接口,以方便用户的使用。 状态栏位于主框架窗口的底部,主要用来显示一些提示信息,可细分为几个窗格。状态栏主要功能是简要解释被选中菜单命令或工具栏按钮命令,并显示SCROLL LOCK、NUM LOCK等键的状态。 第6章 工具栏和状态栏 6. 1 工具栏的设计 使用默认配置时,AppWizard 会自动创建一个工具栏。这个工具栏包含一些常用按钮,如打开文件、存盘、打印等。用户可以修改这个工具栏,去掉无用的按钮,加入自己需要的按钮。如果用户需要创建两个以上的工具栏,则不能完全依赖AppWizard,需要自己手工创建。 本节将分别讨论这两种方法。 自动创建工具栏很简单,在用AppWizard生成应用程序框架后,将项目工作区切换到资源视图,并展开资源,就会发现其中有一个名为IDR_MAINFRAME的Toolbar(工具栏)资源。用鼠标双击“IDR_MAINFRAME”,打开工具栏资源编辑器。该窗口的上部显示出了工具栏上的按钮,当用户选择某一按钮时,在窗口的下部绘图区会显示该按钮的位图。在窗口旁边有一个绘图工具面板和一个颜色面板,供用户编辑按钮位图时使用。 双击工具条上的空白按钮或单击空白按钮后,选择View|Properties 菜单项,弹出Toolbar Button Properties 属性对话框,在此对话框中编辑按钮的标识符、宽度与高度值。 2)删除按钮 将按钮拖出工具栏外,即可删除该按钮。 3)编辑按钮位图 设置按钮位图有以下两种方法。 ?? 利用绘图工具与调色板直接进行绘制。 ?? 先利用专用绘图软件制作,然后粘贴到按钮上。 4) 建立消息映射 通常,我们只需让一个按钮的ID 值与同样功能菜单项的ID 值相同即可,这样同样的命令既可以通过菜单执行,也可以通过工具栏执行。 如果按钮没有对应菜单项,则必须利用ClassWizard 类向导添加一个消息处理函数。 【例 6.1】编写一个单文档应用程序 Li6_1。删除默认工具栏上的【打印设置】按钮,并在【帮助】按钮前添加【上一页】和【下一页】2 个按钮,当用户单击这两个按钮后,视图中分别显示文本“这是《上一页》按钮!”和“这是《下一页》按钮!”。 (1) 启动Visual C++ IDE,使用MFC AppWizard[exe]向导创建一个单文档应用程序Li6_1 。选择项目工作区中的ResourceView 视图, 展开Toolbar 文件夹, 双击IDR_MAINFRAME 工具栏资源,打开工具栏资源编辑器。 (2) 单击工具栏上代表【打印设置】的打印机图标按钮,将其拖出工具栏外,删除该按钮。 (3) 用鼠标将工具栏最后的空白框拖至【帮助】按钮前,用绘图工具及调色板制作【上一页】按钮。双击工具栏中刚绘制的新按钮,打开其属性设置对话框,设置ID 为ID_PREV,高度和宽度均为20。用同样的方法定义一个【下一页】按钮,设置其ID 为ID_NEXT。 (4) 为两个新按钮添加消息处理函数。由于新按钮没有与之对应的菜单项,因此,需利用ClassWizard 类向导给它们添加消息处理函数。打开 ClassWizard 对话框,选择Message Maps 选项卡,在Class name 栏中选择CLi6_1View,在Object IDs 下拉列表中选择ID_PREV,在Messages 栏中选择COMMAND,单击Add Function 按钮,再单击Edit Code,在函数中添加代码。 void CLi5_9View::OnPrec() { // TODO: Add your command handler code here CClientDC dc(this); dc.TextOut(50,50,这是《上一页》按钮!); } 用同样的方法为【下一页】按钮添加消息处理函数OnNext( ),将输出的文本改为“这是《下一页》按钮!”。 (
原创力文档


文档评论(0)