c语言-菜单工具栏与状态栏.pptVIP

  • 1
  • 0
  • 约6.45千字
  • 约 57页
  • 2017-02-14 发布于北京
  • 举报
第 6 章 菜单、工具栏与状态栏 参数nflags的含义 【例6.4】 使用TrackPopupMenu( )函数创建例6.3中的快捷菜单。 (1) 打开例6.2中的项目MyDraw。 (2) 选择【Insert|Resource】菜单项,向应用程序中添加一个新的菜单资源,并将新菜单的ID改为IDR_POPUP。 双击ResourceView视图中Menu文件夹下的IDR_MAINFRAME,打开标准菜单编辑器,单击【绘图】菜单项并复制。双击新菜单资源IDR_POPUP,打开快捷菜单编辑器,单击空白菜单项并粘贴。 (3)用例6.3中步骤(5)的方法为快捷菜单连接类CMyDrawView。 (4) 加载并显示快捷菜单。 打开ClassWizard对话框,在Class name栏和Object IDs下拉列表中均选择CMyDrawView,在Messages中选择WM_CONTEXTMENU,单击Add Function按钮,再单击Edit Code,在打开的WM_CONTEXTMENU消息处理函数中添加如下代码。 (5)编译、链接并运行程序,得到与例6.3中相同的效果。 6.2 工具栏 在MFC中,工具栏的功能由类CToolBar实现。工具栏资源和工具栏类CToolBar是工具栏的两个要素。创建工具栏的基本步骤是: l??? 创建工具栏资源; l??? 构建一个CToolBar对象; l??调用CToolBar::Create( )或CreateEx( )函数创建工具栏窗口; l??? 调用CToolBar::LoadToolBar载入工具栏资源。 6.2.1 编辑工具栏 使用工具栏编辑器来编辑工具栏资源。双击ResourceView视图中的Toolbar工具栏资源,即可打开工具栏编辑器。 1.添加按钮 双击工具条上的空白按钮或单击空白按钮后,选择【View|Properties】菜单项,弹出如图所示的Toolbar Button Properties属性对话框,在此对话框中编辑按钮的标识符、宽度与高度值。 2.删除按钮 将按钮拖出工具栏外,即可删除该按钮。 3.编辑按钮位图 设置按钮位图有以下两种方法。 l?利用绘图工具与调色板直接进行绘制 l?先利用专用绘图软件制作,然后粘贴到按钮上 6.2.2 建立消息映射 通常,只需让一个按钮的ID值与同样功能菜单项的ID值相同即可。 如果按钮没有对应菜单项,则必须利用ClassWizard类向导添加一个消息处理函数。 【例6.5】创建一个单文档的应用程序。为该应用程序添加二个按钮到工具条中,单击第一个按钮,在视图窗口中显示“打开文件”对话框;单击第二个按钮,视图窗口中会弹出一消息框,在其中显示自己的名字。 (1) 使用MFC AppWizard[exe]向导创建一个单文档应用程序Li6_5,然后打开工具栏资源编辑器。 (2)用鼠标单击工具栏最后的空白框,用绘图工具及调色板制作【O】按钮。 双击工具栏中刚绘制的新按钮,打开其属性设置对话框,在ID栏中选择ID_FILE_OPEN。 用同样的方法定义一个【T】按钮,设置其ID为ID_TEXT。 由于第一个新按钮与系统提供的[文件|打开]菜单项相对应,因此,不需要为它添加消息处理函数。 (3) 为第二个新按钮添加消息处理函数。 打开ClassWizard对话框,选择Message Maps选项卡,在Class name栏中选择CLi6_5View,在Object IDs下拉列表中选择ID_TEXT,在Messages栏中选择COMMAND,单击Add Function按钮,再单击Edit Code,在函数中添加代码。 void CLi6_5View::OnText() { CClientDC dc(this); dc.TextOut(50,50,“学生姓名); } (5) 编译、链接并运行程序。 6.3 状态栏 状态栏实际上是一个窗口,一般分为几个窗格,每个窗格显示不同的信息。 使用AppWizard创建的单文档应用程序,接受默认选项时,生成的应用程序自动创建带有默认窗格的状态栏。 6.3.1 状态栏类的继承关系 在MFC中,状态栏的功能由CStatusBar类实现。 6.3.2 状态栏类的成员函数 6.3.3 状态栏操作 利用MFC AppWizard向导创建应用程序时,首先在

文档评论(0)

1亿VIP精品文档

相关文档