实验5 菜单、工具栏和状态栏.docVIP

  • 93
  • 0
  • 约 4页
  • 2017-05-12 发布于河南
  • 举报
实验5 菜单、工具栏和状态栏

实验5 菜单、工具栏和状态栏 实验目的和内容 (1)创建一个单文档应用程序Ex_SDI。在“查看”菜单下添加一个子菜单“鼠标位置”,ID为ID_VIEW_MOUSE,当选择该菜单命令后,鼠标当前的位置显示到状态栏上,同时该菜单项呈选中状态。再次选择该菜单命令,状态栏不再显示当前鼠标位置,同时该菜单项的选中状态被去除。 (2)在工具栏上添加并设计一个工具按钮图标,使该按钮和ID_VIEW_MOUSE菜单命令联动,并添加一个快捷键Ctrl+M和该菜单命令联动。 (3)在窗口客户区中右击鼠标,弹出快捷菜单,显示主菜单“查看”中的菜单命令。结果如图5.1所示。 图5.1 Ex_SDI运行结果 实验准备和说明 (1)具备知识:菜单、工具条和状态栏。 (2)创建本次实验工作文件夹“…\Visual C++程序\实验\实验5”。 实验内容和步骤 1.启动Visual C++ 6.0 启动Visual C++ 6.0选择菜单,在弹出的对话框中选择标签,应用程序项目类型选择MFC AppWizard(exe)的项目类型,将文件夹定位…\Visual C++程序\实验\实验5”,并在框中输入项目名Ex_单击按钮出现的对话框,选择单文档Single Document,SDI)应用程序类型 ③ 保留其他的默认选项,单击按钮出现对话框,显示出用户在步骤中作出的选择,单击按钮系统开始创建。 ① 在项目工作区窗口的ResourceView页面中,双击Toolbar中的IDR_MAINFRAME,打开工具栏资源。 ② 单击工具栏最右端的空白按钮,在资源编辑器的按钮设计窗口中绘制一个“箭头”,颜色为黑色,然后将其拖动到“帮助”按钮的前面,并使该按钮的前后均有半个空格,结果如图5.3所示。 ③ 双击刚才设计的工具按钮,在弹出的属性对话框中将其ID设为ID_VIEW_MOUSE。 5.菜单命令和工具按钮的更新 ① 为CMainFrame类添加一个BOOL型的成员变量m_bIsMouse,在CMainFrame类构造函数中将m_bIsMouse的初值设为FALSE。 ② 用MFC ClassWizard在CMainFrame类中添加工具按钮ID_VIEW_MOUSE的COMMAND和UPDATE_COMMAND_UI消息映射函数,并添加下列代码: void CMainFrame::OnViewMouse() { m_bIsMouse = !m_bIsMouse; } void CMainFrame::OnUpdateViewMouse(CCmdUI* pCmdUI) { pCmdUI-SetCheck(m_bIsMouse); } ③ 编译运行并测试。 6.设置快捷键 ① 在项目工作区窗口的ResourceView页面中,双击Accelerator中的IDR_ MAINFRAME,打开快捷键资源。 ② 双击加速键列表的最下端的空行,弹出如图5.4所示的Accel Properities对话框,选择菜单项ID_VIEW_MOUSE作为要联动的快捷键的ID号,然后单击“下一键”按钮,并按下Ctrl+1作为此加速键的键值。 图5.4 设置快捷键 ③ 编译运行并测试。 7.添加状态栏窗格并显示鼠标当前位置 ① 打开MainFrm.cpp文件,将原先的indicators数组修改如下: static UINT indicators[] = { ID_SEPARATOR, // status line indicator ID_SEPARATOR, ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, }; ② 用MFC ClassWizard在CEx_SDIView类中映射WM_MOUSEMOVE(移动鼠标)消息,并在映射函数中添加下列代码: void CEx_SDIView::OnMouseMove(UINT nFlags, CPoint point) { CMainFrame* pFrame=(CMainFrame*)AfxGetApp()-m_pMainWnd; // 获得主窗口指针 CStatusBar* pStatus=pFrame-m_wndStatusBar; // 获得主窗口中的状态栏指针 CString str; if (pFrame-m_bIsMouse) str.Format(%d,%d,point.x, point.y); // 格式化文本 else str.Empty(); // 为空字符 if (pStatus) pStatus-SetPaneText(1,str); // 更新第二个窗格的文本 CView::OnM

文档评论(0)

1亿VIP精品文档

相关文档