菜单工具栏状态条B.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
菜单工具栏状态条B

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 here CPen 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 here pCmdUI-SetCheck(m_CurrentTool==ID_TOOL_LINE?1:0); } 编译系统会提示不认识m_CurrentTool 手动添加成员变量: 编译运行,奇怪怎么画不出线? 原因:没有初始化成员变量。 初始化代码(怎么成员变量初始化?) CMenuToolView::CMenuToolView() { // TODO: add construction code here m_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::O

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档