ON_COMMAND_RANGE(ID_SORTING_GROUPBYTYPE, ID_SORTING_SORTBYACCESS, OnSort)
ON_UPDATE_COMMAND_UI_RANGE(ID_SORTING_GROUPBYTYPE, ID_SORTING_SORTBYACCESS, OnUpdateSort)

在上面的代码中,其中第一个 ON_COMMAND_RANGE 的作用,是操作 指定ID范围内的菜单在执行时的执行动作. 动作的内容就是 OnSort.也就是说,这里指定的一个范围内的菜单一定是一个顺序号的菜单,而且这些菜单具有相同的作用,比如按 某项排序,功能是相同的,只是排序依据不同而矣.

而第二个 ON_UPDATE_COMMAND_UI_RANGE 类似于 ON_UPDATE_COMMAND_UI的作用,只是这个宏是指定一定顺序的操作函数.

当需要显示时.  ON_UPDATE_COMMAND_UI_RANGE 会逐个排查每一个显示项,可以在这里指定显示的选择项等.如

void CClassView::OnUpdateSort(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck(pCmdUI->m_nID == m_nCurrSort); }

上述代码的意思就是根据 m_nCurrSort 来指定选择项的 选择.

CCmdUI* pCmdUI  这里是指定正在更新的菜单的项目

当需要操作执行时,可以使用 ON_COMMAND_RANGE 宏中指定的 OnSort 如:

void CClassView::OnSort(UINT id)
{
if (m_nCurrSort == id)
{
return;
} m_nCurrSort = id; CClassViewMenuButton* pButton = DYNAMIC_DOWNCAST(CClassViewMenuButton, m_wndToolBar.GetButton(0)); if (pButton != NULL)
{
pButton->SetImage(GetCmdMgr()->GetCmdImage(m_nCurrSort));
m_wndToolBar.Invalidate();
m_wndToolBar.UpdateWindow();
} }

这里的id号,就是指的 真正点击的 菜单的ID号.

VC++ 关于 ON_UPDATE_COMMAND_UI 相关的作用.的更多相关文章

  1. Editplus配置VC++(1) 及相关注意事项

    下篇文章:Editplus配置VC++(2) 与/d1reportSingleClassLayout 原本用的是VC++2010 现在换成了Visual Studio 2013,editplus相关配 ...

  2. mysql之 binlog维护详细解析(开启、binlog相关参数作用、mysqlbinlog解读、binlog删除)

    binary log 作用:主要实现三个重要的功能:用于复制,用于恢复,用于审计.binary log 相关参数:log_bin设置此参数表示启用binlog功能,并指定路径名称log_bin_ind ...

  3. @property & @synthesize & @dynamic 及相关属性作用探究

    @property : iOS6 引入关键词. @property name; 指示编译器自动生成 name 的 setter 和 getter 方法 : - (NSString *)name; - ...

  4. 9.hbase相关进程作用

    1.协调服务组件Zookeeper Zookeeper的作用如下: 1. 保证任何时候,集群中只有一个HMaster: 2. 存储所有的HRegion的寻址入口: 3. 实时监控HRegionServ ...

  5. VC工程编译相关

    ①error C4996: 'sprintf': This function or variable may be unsafe 这不是语法的错误,而是IDE默认禁止这种容易产生漏洞的旧函数,解决的方 ...

  6. validateRequest 相关的作用

    在 Web 应用程序中,要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的.跨站点脚本攻击就是此类攻击的一个示例.其他类型的恶意数据或不需 要的数据可以通过各种形式的输入在请求中传入 ...

  7. Linux 网络(连接)相关参数作用

    参考: [1] http://bbs.chinaunix.net/thread-2318039-1-1.html Backlog net.core.netdev_max_backlog = 1000 ...

  8. 【转载】VC维的来龙去脉

    本文转载自 火光摇曳 原文链接:VC维的来龙去脉 目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effective Number o ...

  9. VC维的来龙去脉——转载

    VC维的来龙去脉——转载自“火光摇曳” 在研究VC维的过程中,发现一篇写的很不错的VC维的来龙去脉的文章,以此转载进行学习. 原文链接,有兴趣的可以参考原文进行研究学习 目录: 说说历史 Hoeffd ...

随机推荐

  1. iOS AudioQueue机制的延迟问题探究

    关键字:VOIP,AudioUnit,AudioQueue,RemoteIO问题描述VOIP通话,iOS底层音频方式采用AudioUnit机制,本来也挺好,但是会有遇到CS域来电时RemoteIO挂死 ...

  2. Struts2 Action中的方法命名不要以get开头

    偶然发现,在调用一个action中的某个方法时,会自动调用另一个无关的方法,找了好久,最后发现是方法命名的问题,方法命名以get开头,action会自动调用!所以,以后再写action中的方法时尽量不 ...

  3. setsockopt 设置 SO_LINGER 选项

    setsockopt 设置 SO_LINGER 选项 最近和后台的server通信 server发现在读数据的时候  客户端已经关闭连接 ,也就是 没有等服务器读完数据,客户端已经fclose了, 联 ...

  4. php和js一起实现倒计时功能

    里获取的php服务端的时间 纯JS是获取客服端时间! <?php //php的时间是以秒算.js的时间以毫秒算 date_default_timezone_set('PRC'); //date_ ...

  5. powerdsigner Association Multiplicity

    这一篇來告诉一个不容易分辨的关系图式:Association(结合)的各种類型,除了了解它的涵义 外,也让各位可以看图說故事,知道它背后所要表达的意义. Association结合 Associati ...

  6. 关于jQuery中的submit()函数

    关于jQuery中的submit()函数(绑定event handler or 触发event?) 今天在敲代码的时候无意间碰到了一个比较绕的问题(一个小师弟问的问题),思前想后都不明白,上午百度.谷 ...

  7. CoreException: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could not be resolved

    CoreException: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-compiler-plugin ...

  8. (C#) Interview Questions.

    (Note: Most are collected from Internet. 绝大部分内容来自互联网) 1. What's the difference between Hashtable and ...

  9. razor 拼接字符串

    在asp.net引擎中 拼接字符串可以这样写 <script src="~/script/<%=scriptname%>.js"></script&g ...

  10. Android API Guides 学习笔记---Application Fundamentals(一)

    今天开始学习google官网上的API guides ,主要读了Application Fundamentals这一章节,此章节介绍了一个App的基本组成,共包括四大部分内容. 1.      App ...