框架窗口界面管理课件.pptVIP

  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文档。上传文档
查看更多
框架窗口界面管理课件

6.2菜单 6.2.4使用快捷菜单 快捷菜单实现函数 用资源编辑器和MFC库的CMenu::TrackPopupMenu函数可以创建这样的菜单,CMenu::TrackPopupMenu函数原型: BOOL TrackPopupMenu( UINT nFlags, int x, int y, CWnd* pWnd, LPCRECT lpRect = NULL ); 用来显示一个浮动的弹出式菜单。nFlags表示菜单在屏幕显示的位置以及鼠标按钮标志,如表。x和y表示菜单的水平坐标和菜单的顶端的垂直坐标。pWnd表示弹出菜单的窗口,此窗口将收到菜单全部的WM_COMMAND消息。lpRect是一个RECT结构或CRect对象指针,表示一个矩形区域,单击这个区域时,弹出菜单不消失。lpRect为NULL时,在菜单外面单击鼠标,菜单立刻消失。 6.2菜单 示例 显示主菜单IDR_MAINFRAME时,右击鼠标弹出“查看”菜单的子菜单,显示菜单IDR_MENU1时,右击鼠标弹出“测试”菜单的子菜单。具体步骤: (1)? 打开前面的单文档应用程序Ex_SDI。 (2)?在CMainFrame类添加WM_CONTEXTMENU消息映射,函数代码。 void CMainFrame::OnContextMenu(CWnd* pWnd, CPoint point) { CMenu* pSysMenu = GetMenu(); // 获得程序菜单指针 int nCount = pSysMenu-GetMenuItemCount(); // 获得顶层菜单个数 int nSubMenuPos = -1; for (int i=0; inCount; i++) // 查找菜单 { CString str; pSysMenu-GetMenuString(i, str, MF_BYPOSITION); if ((str.Left(4) == “查看”) || (str.Left(4) == “测试”)) { nSubMenuPos = i; break; } } if (nSubMenuPos0) return; // 没有找到,返回 pSysMenu-GetSubMenu( nSubMenuPos) -TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, point.x, point.y, this); } (3)编译运行并测试。 6.3工具栏 6.3.1使用工具栏编辑器 创建一个新的工具栏按钮 双击新建的工具栏中最右端的空按钮弹出属性框,在ID框中输入名称,右端出现一个空按钮。单击该按钮,在资源编辑器的工具按钮设计窗口内进行编辑,这个编辑就是绘制一个工具按钮的位图。 移动一个按钮 鼠标左键点中它并拖动至相应位置。如果用户拖动它离开工具栏位置,则此按钮从工具栏中消失。若在移动一个按钮的同时,按下Ctrl键,则在新位置复制一个按钮,新位置可以是同一个工具栏中的其他位置,也可以在不同的工具栏中。 删除一个按钮 将选取中的按钮拖离工具栏就消失了。若选中按钮,Delete键不能删除,将按钮中的图形全部以背景色填充。 在工具栏中插入空格 如果按扭前没有任何空格,拖动该按钮向右移动并当覆盖相邻按钮的一半以上时,释放鼠标键,则此按钮前出现空格。 如果按钮前有空格而按钮后没有空格,拖动该按钮向左移动并当按钮的左边界接触到前面按钮时,释放鼠标键,则此按钮后将出现空格。 如果按钮前后均有空格,拖动该按钮向右移动并当接触到相邻按钮时,则此按钮前的空格保留,按钮后的空格消失。相反,拖动该按钮向左移动并当接触到前一个相邻按钮时,则此按钮前面的空格消失,后面的空格保留。 6.3工具栏 工具栏按钮属性的设置 6.3工具栏 6.3.2工具按钮和菜单项相结合 指选择工具按钮或菜单命令时,操作结果是一样的。使它们结合的具体方法是在工具按钮的属性对话框中将按钮的ID号设置为相关联的菜单项ID。 例如:示例是在前面Ex_SDI上进行的,通过两个工具按钮分别显示主菜单IDR_MAINFRAME和菜单IDR_MENU1。具体步骤: (1)? 打开前面的单文档应用程序Ex_SDI。 (2) 利用工具栏编辑器设计两个工具按钮,如图。 6.3工具栏 (3)?双击设计的第一个工具按钮,将工具按钮的ID号设为ID_TEST_RETURN,在提示框内键入“返回应用程序主菜单\n返回主菜单”。 (4)?双击设计的第二个工具按钮,将工具按钮的ID号设为ID_VEW_TEST,在提示框内键入“显示测试菜单\n显示测试菜单”。 (5) 编译运行并测试。将鼠标移至设计的第

文档评论(0)

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

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

1亿VIP精品文档

相关文档