ch菜单工具栏和状态栏实用.pptx

上传人:莉*** 文档编号:87123875 上传时间:2023-04-16 格式:PPTX 页数:20 大小:576.01KB
返回 下载 相关 举报
ch菜单工具栏和状态栏实用.pptx_第1页
第1页 / 共20页
ch菜单工具栏和状态栏实用.pptx_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《ch菜单工具栏和状态栏实用.pptx》由会员分享,可在线阅读,更多相关《ch菜单工具栏和状态栏实用.pptx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、5.1 资源与资源编辑器Windows资源用于创建程序的框架界面,包括快捷键(Accelerator)、位图(Bitmap)、光标(Cursor)、对话框(Dialog)、图标(Icon)、菜单(Menu)、串表(StringTable)、工具栏(Toolbar)和版本信息(Version)等,为此,Windows资源提供了各种类型的资源编辑器。资源作为一种界面元素,可以从中获取信息并在其中执行某些操作。VisualC+在内部使用资源符号来标识资源。每当创建一个新的资源或资源对象时,系统就会为其提供一个默认的资源符号名称并赋予一个整数值,该定义被保存在resource.h文件中。第1页/共20

2、页资源编辑器在Windows环境下,资源是独立于程序源代码的,根据不同资源的特点,VisualC+提供了不同的可视化资源编辑器。创建或打开资源时,系统将自动打开相应的编辑器。1.创建资源单击Insert菜单中Resource菜单项创建新的资源。如图所示。第2页/共20页5.2 菜单的使用 菜单的类型3种:主菜单、弹出菜单和快捷菜单。编辑菜单:双击ResourceView视图中的Menu菜单资源,即可打开菜单编辑器,如图所示。对菜单可进行插入、删除、修改属性等操作。第3页/共20页建立菜单项消息映射第4页/共20页菜单的有效控制1在CMainFrame类中添加类型为BOOL,属性为public的

3、成员变量,需要操作的菜单项有几个,就添加几个这样的变量。并在CMainFrame类构造函数中初始化为false.CMainFrame:CMainFrame()/TODO:addmemberinitializationcodeherethis-m_open=true;this-m_close=false;第5页/共20页2为每个需要操作的菜单项添加UPDATE_COMMAND_UI消息处理函数.示例操作界面如下:消息处理函数代码:消息处理函数代码:pCmdUI-Enable(this-m_open);第6页/共20页3在菜单项Command消息处理函数中更新变量值void CEx5_2View:

4、OnTimerOpen()void CEx5_2View:OnTimerOpen():SetTimer(this-m_hWnd,1,1000,NULL);:SetTimer(this-m_hWnd,1,1000,NULL);CMainFrame*p=(CMainFrame CMainFrame*p=(CMainFrame *)AfxGetMainWnd();*)AfxGetMainWnd();p-m_open=false;p-m_open=false;p-m_close=true;p-m_close=true;在包含此函数的在包含此函数的CPPCPP文件头处添加如下语句:文件头处添加如下语句:

5、#include mainfrm.h“#include mainfrm.h“否则,提示找不到否则,提示找不到CMainFrame CMainFrame 类型类型第7页/共20页示例运行效果图有效性控制的另一个常用命令是:有效性控制的另一个常用命令是:pCmdUI-SetCheck(BOOL b),pCmdUI-SetCheck(BOOL b),使用方法与使用方法与pCmdUI-Enable(BOOL b)pCmdUI-Enable(BOOL b)相似。相似。第8页/共20页使用快捷菜单参考P111例5.6步骤第9页/共20页voidCMainFrame:OnContextMenu(CWnd*p

6、Wnd,CPointpoint)/TODO:AddyourmessagehandlercodehereCMenumenu;/加载menu.LoadMenu(IDR_POPUP);/显示menu.GetSubMenu(0)-TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);第10页/共20页5.3 工具栏的使用系统会自动创建一个工具栏,用户可以修改它去掉不需要的按钮,加入自己需要的按钮。5.3.1编辑工具栏使用工具栏编辑器来编辑工具栏资源。双击ResourceView视图中的Toolbar工具栏资源,即可打开工具

7、栏编辑器。第11页/共20页2.删除按钮将按钮拖出工具栏外,即可删除该按钮。3.编辑按钮位图设置按钮位图有以下两种方法。l利用绘图工具与调色板直接进行绘制。l先利用专用绘图软件制作,然后粘贴到按钮上。第12页/共20页5.3.2建立消息映射通常只需要让一个按钮的ID值与同样功能的菜单项ID值相同即可(鼠标双击对应图标,打开属性对话框)。如果按钮没有对应的菜单项,则需要通过ClassWizard类向导添加一个消息处理函数。第13页/共20页5.3.3自定义工具栏的操作向导生成的标准工具栏的ID值为IDR_MAINFRAME。对一些功能复杂的应用程序,需要创建多个不同的工具栏。要生成工具栏,首先必

8、须添加工具栏资源,然后参照MFC应用程序框架添加工具栏的方法,构造一个CToolBar类的对象,调用CToolBar:Create()或CreateEx()函数创建工具栏窗口,最后调用CToolBar:LoadToolBar()函数载入工具栏资源。除这些基本步骤之外,还可以调用其他相关函数从而进一步改善工具栏第14页/共20页自定义工具栏的使用方法参考P123例5.10第15页/共20页intCMainFrame:OnCreate(LPCREATESTRUCTlpCreateStruct).if(!m_wndToolBar1.CreateEx(this,TBSTYLE_FLAT,WS_CHIL

9、D|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)|!m_wndToolBar1.LoadToolBar(IDR_TOOLBAR1)TRACE0(Failedtocreatetoolbarn);return-1;/failtocreatem_wndToolBar1.EnableDocking(CBRS_ALIGN_ANY);/EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndToolBar1);return0;/以上代码是参考此函数中已经

10、存在的代码基础上进行添加的。第16页/共20页5.4 状态栏的使用参考P126例5.111打开mainFrm.cpp,修改代码如下:staticUINTindicators=ID_SEPARATOR,/statuslineindicatorID_INDICATOR_COORD,/注意在此数组中的下标ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,;第17页/共20页2打开资源视图,打开串表编辑器,添加ID_INDICATOR_COORD,格式设为:x:xxx,y:xxxx3添加鼠标移动消息处理函数voidCEx5_2View:OnMou

11、seMove(UINTnFlags,CPointpoint)CMainFrame*pM=(CMainFrame*)AfxGetMainWnd();CStatusBar*pSB=&pM-m_wndStatusBar;CStringstr;str.Format(x:%d,y:%d,point.x,point.y);pSB-SetPaneText(1,str);CView:OnMouseMove(nFlags,point);(注意需要:#include“MainFrm.h”,另外把MainFrm.h文件中的m_wndStatusBar改为public属性)第18页/共20页第19页/共20页感谢您的欣赏!第20页/共20页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁