zoukankan      html  css  js  c++  java
  • ON_COMMAND,ON_MESSAGE和ON_NOTIFY的区别

      ON_COMMAND ON_MESSAGE ON_NOTIFY
      处理WM_COMMAND类型的消息 可以处理所有的windows消息,格式是ID,wparam,lparam 处理控件向其父窗口发送的消息
      可以用ON_MESSAGE来表示另外两个,但是要做别的额外的操作
    • WM_COMMAND

    WM_COMMAND产生的条件:点击菜单, 点击加速键(比如Ctrl+, Alt+),点击子窗口按钮,点击工具栏按钮。

    WM_COMMAND消息中有两个参 数,wparam、lparam,定义如下:

           wParam 高两个字节 通知码(菜单的为0,加速键的为1)

           wParam 低两字节 命令ID 

           lParam 发送命令消息的子窗体句柄 (菜单 和加速键的lParam为0,控件为非0)

    •   几点说明:

          1、ON_COMMAND(id,memberFxn)
          此宏通过ClassWizard或手工插入一个消息映射。它表明那个函数将从一个命令用户接口(例如一个菜单项或toolbar按钮)处理一个命令消息。当一个命令对象通过指定的ID接受到一个Windows WM_COMMAND消息时,ON_COMMAND将调用成员函数memberFxn处理此消息。在用户的消息映射中,对于每个菜单或加速器命令(必须被映射到一个消息处理函数)应该确实有一个ON_COMMAND宏语句。

          2、ON_MESSAGE(message,memberFxn)
          指明哪个函数将处理一用户定义消息。用户定义消息通常定义在WM_USER(0x0400)到0x7FFF范围内。用户定义消息是那些不是标准 Windows WM_MESSAGE消息的任何消息。在用户的消息映射中,每个必须被映射到一个消息处理函数(声明格式为:afx_msg 类型 函数名())。用户定义消息应该有一个 ON_MESSAGE宏语句。

    新战场:https://blog.csdn.net/Stephen___Qin
  • 相关阅读:
    并查集图冲突hdu1272
    CentOS 7通过yum安装fcitx五笔输入法
    近期的技术问题让云供应商进行预设加密
    POJ 1166 The Clocks (暴搜)
    windows中的mysql修改管理员密码
    Visio画UML类图、序列图 for Java
    js中的时间与毫秒数互相转换
    java.lang.OutOfMemoryError: unable to create new native thread 居然是MQ问题
    WEB移动应用框架构想(转载)
    Android SDK安装教程
  • 原文地址:https://www.cnblogs.com/Stephen-Qin/p/12111942.html
Copyright © 2011-2022 走看看