背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-11112.html    注册17xie 一起来写书 实现您的出书梦想!

CClientDC dc(this);

         dc.TextOut(0,100,"This is default message 1.");

}

OnMessageMessage1()函数中,首先创建了一个设备环境对象dc,然后利用该设备环境对象的文本输出函数TextOut()函数在窗口的左上角显示字符串“This is default message”,表明选择了Message菜单的Message1菜单项。

提示:

@        有关设备环境的概念和文本输出的内容将在第五章中详细介绍。

类似地,完成其他两个消息响应函数。完成的代码列于程序清单3-4中:

 程序清单3-4  OnMessageMessage2()OnMessageMessage3()

void CTestMsgView::OnMessageMessage2()

{

         // TODO: Add your command handler code here

         CClientDC dc(this);

         dc.TextOut(0,100,"This is default message 2.");

}

void CTestMsgView::OnMessageMessage3()

{

         // TODO: Add your command handler code here

         CClientDC dc(this);

         dc.TextOut(0,100,"This is default message 3.");

}

至此TestMsg程序的菜单已经能够正常工作,用户可以编译和运行该程序,检验菜单命令的作用。

TestMsg程序本身是很简单的,但向TestMsg程序中添加菜单资源、进行消息映射和在消息处理函数中添加代码这几个步骤与所有具有菜单的MFC应用程序是一样的,TestMsg程序已经足够说明在应用程序中使用菜单的全过程。

实际上,应用程序的菜单一般都随着程序的状态而有不同的变化,如某个菜单项的激活与无效、核对标记的添加与去除等,这正是下一节所要讨论的内容。

3.3  更新菜单状态

通常,菜单项都有不止一个状态。比如说,根据程序运行的情况,如果某个菜单项的功能不能被提供,那么,通常让该菜单项呈现灰色使之不能被选择;同样的理由,菜单项可能被添加核对记号,或者清除核对记号。

TestMsg程序中,也可以具有这些功能。下面就来介绍如何在TestMsg程序中实现更新菜单状态的功能。


字数:1457    最后更新:1年以前 [08-10 20:35]果冻 修改
本页编辑者:果冻  
[前一页]:第三章  [后一页]:第三章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号