




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1菜单菜单栏,主菜单,子菜单,菜单项,分割条弹出式菜单(点击鼠标右键弹出)菜单消息:COMMAND消息(控制应用程序命令功能);UPDATE_COMMAND_UI消息(改变菜单项状态:打勾SetCheck(),可用状态控制Enable/Disable(变灰).2工具条窗口上方一行图标按钮,用于快速执行某项功能。工具键响应消息:跟菜单消息一样。3状态条应用程序窗口底部显示信息的窗口边框。MFC默认初始状态条:satatic UINT indicators=ID_SEPARATORS,ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,程序实例:1菜单资源添加,编辑:2成员变量添加:系统会弹出如下对话框:输入成员变量类型,名称,选择该成员变量访问属性后的该类的头文件会自动添加如下成员变量:2消息响应函数添加,编辑:COMMAND消息:void CMenuToolView:OnToolLine() / TODO: Add your command handler code hereCPen newPen; CPen *oldPen;newPen.CreatePen(PS_SOLID,m_CurrentThickness,m_CurrentColor); CClientDC dc(this); CRect rect; GetClientRect(&rect); dc.FillRect(&rect,CBrush:FromHandle(HBRUSH)GetStockObject(WHITE_BRUSH); oldPen=dc.SelectObject(&newPen); dc.MoveTo(50,30); dc.LineTo(300,200); dc.SelectObject(&oldPen);UPDATE_COMMAND_UI消息:void CMenuToolView:OnUpdateToolLine(CCmdUI* pCmdUI) / TODO: Add your command update UI handler code herepCmdUI-SetCheck(m_CurrentTool=ID_TOOL_LINE?1:0);编译系统会提示不认识m_CurrentTool手动添加成员变量:编译运行,奇怪怎么画不出线?原因:没有初始化成员变量。初始化代码(怎么成员变量初始化?)CMenuToolView:CMenuToolView()/ TODO: add construction code herem_CurrentThickness=1; m_CurrentColor=RGB(0,0,0); m_CurrentTool=ID_TOOL_LINE;制作弹出式菜单1插入菜单资源可使用同样方法复制出其它菜单。2.添加单击鼠标右键消息添加右键消息添加消息映射函数以及代码: void CMTSPictureView:OnRButtonDown(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default CMenu dMenu; if(!dMenu.LoadMenu(IDR_MENU1) AfxThrowResourceException(); CMenu *pPopupMenu=dMenu.GetSubMenu(0); ASSERT(pPopupMenu!=NULL); ClientToScreen(&point); pPopupMenu-TrackPopupMenu(TPM_CENTERALIGN| TPM_RIGHTBUTTON, point.x, point.y,AfxGetMainWnd();CView:OnRButtonDown(nFlags, point);图形菜单:添加菜单位图添加处理代码:为框架类添加成员变量初始化成员变量:添加初始化菜单消息映射:编写如下高亮现实的代码行:修改菜单资源的对应项为加载的位图资源。工具条:添加、编辑工具条资源:手动添加框架类数据成员(成员变量)添加WM_CREATE消息处理函数:函数代码:int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct) if (CFrameWnd:OnCreate(lpCreateStruct) = -1)return -1;/ TODO: Add your specialized creation code here /调用函数创建工具条,this指定主窗口为工具条父窗口 if(!m_ToolBar.Create(this)|!m_ToolBar.LoadToolBar(IDR_MAINFRM) return -1; m_ToolBar.EnableDocking(CBRS_ALIGN_ANY);/ 可以将工具条停靠在任意边上 EnableDocking(CBRS_ALIGN_ANY);/ 允许工具条停靠在四个边框的任意一边上 DockControlBar(&m_ToolBar); / 允许工具条停靠在窗口上方 m_ToolBar.SetBarStyle(m_ToolBar.GetBarStyle()|CBRS_TOOLTIPS|CBRS_FLYBY); / 设置工具条显示方格,CBRS_TOOLTIPS允许提示信息,/ CBRS_FLYBY使光标停放时显示提示信息return 0;注意一点:如果建立工程的时候选择支持工具条和状态条,那么在添加以上代码之前最好删掉原有的代码,如图:状态条:标准状态条手工添状态条成员变量:定义指示符:在Mainfrm中添加如下结构代码(消息映射宏后面):static UINT IndicatorIDs=ID_SEPARATOR,ID_INDICATOR_CAPS,ID_INDICATOR_NUM, ID_INDICATOR_SCRL,;在成员函数OnCreate()中添加如下代码: if(!m_wndStatusBar.Create(this)| !m_wndStatusBar.SetIndicators(Indicat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机电设备动力系统安装方案
- 养鸭场病害防治管理体系方案
- 混凝土质量验收标准方案
- 水稻种植培训课件
- 水稻大变身课件
- 水稳施工方案课件
- 中药养护习题解析91课件
- 二零二五年度新能源技术研发与推广服务合同协议书
- 二零二五年度团体服饰定制合同范本
- 二零二五年度发行公司债券担保及债券发行风险合同
- 2025年贵州省中考英语试卷
- 政府职能边界界定-洞察及研究
- 新疆疫苗管理办法
- 2025年重庆出租车资格证区域考试题库区域考试
- 广州市越秀区招聘卫生健康系统事业单位事业编制人员考试真题2024
- 医疗废物监督管理课件
- 全国律师会费管理办法
- 危险源辨识、评价及控制培训
- 延缓慢性肾脏病进展临床管理指南(2025年)解读课件
- 土地管理培训课件
- 2025年山西中考历史试卷真题解读及答案讲解课件
评论
0/150
提交评论