zoukankan      html  css  js  c++  java
  • window编程_消息分类

    Window应用程序利用Windows消息(Message)
    与应用程序及系统进行信息交换。
    消息分为:
    消息号:有事先定义好的消息名标识
    字节参数(wParam):用于提供消息的附加信息
    长字节参数(lParam):用于提供消息的附加信息
    注:附加信息与具体消息号的值有关,在Win中消息用结构体MSG表示

    //结构体MSG
    typedef struct tagMSG
    {HWND hwnd; 窗口句柄,为null,则可检索所有驻留在消息队列中的消息
    UINT message; 消息值,由Windows.h头文件中的宏定义来标识
    WPARAM wParam; 包含有关消息的附加信息,不同消息其值有所不同
    LPARAM lParam;
    DWORD time; 指定消息送至队列的时间
    POINT pt;指定消息发送时屏幕光标的位置,其数据类型POINT也是一个结构体
    }MSG;
    //结构体POINT
    typedef struct tagPOINT
    {LONG x;
    LONG y;
    } POINT;

    消息分类:VC中存在几种系统定义的消息分类,
    不同的前缀符号经常用于消息宏识别消息附属的分类,
    系统定义的消息宏前缀如下:
    BM 表示按钮控制消息
    CB 表示组合框控制消息
    DM 表示默认下压式按钮控制消息
    EM 表示编辑控制消息
    LB 表示列表框控制消息
    SBM 表示滚动条控制消息
    WM 表示窗口消息
    Windows编程常用消息:
    窗口管理消息
    初始化消息
    输入消息
    系统消息
    剪贴板消息
    控制处理消息
    控制通知消息
    滚动条通知消息
    非用户区消息
    MDI消息
    DDE消息
    应用程序自定义的消息

    WM_LBUTTONUP:放开鼠标左键时产生;
    WM_RBUTTONDOWN:单击鼠标右键时产生;
    WM_RBUTTONUP:放开鼠标右键时产生;
    WM_LBUTTONDBLCLK:双击鼠标左键时产生;
    WM_RBUTTONDBLCLK:双击鼠标右键时产生。


    系统键:是指实现系统操作的组合键,
    例如Alt与某个功能键的组合以实现系统菜单操作等

    常用Windows消息:
    1. WM_LBUTTONDOWN:产生单击鼠标左键的消息
    lParam->低字节包含当前光标得X坐标
    高字节包含当前光标得Y坐标
    wParam包含一整套数值以标识鼠标键的按下状态

    2. WM_KEYDOWN:按下一个非系统键是产生的消息->
    wParam:按下键的虚拟键码,用以标识按下或释放的键
    lParam:记录了按键的重复次数、扫描码、转移代码、先前键的状态等信息。

    3. WM_ CHAR:按下一个非系统键时产生的消息
    wParam 为按键的ASCII码
    lParam 与WM_KEYDOWN的相同

    4. WM_CREATE:由CreateWindow函数发出的消息
    wParam:未用
    lParam:包含一个指向CREATESTRUCT数据结构的指针

    5. WM_CLOSE:关闭窗口时产生的消息
    wParam和lParam均未用。

    6. WM_DESTROY:由DestroyWiodow函数发出的消息
    wParam和lParam均未用。

    7. WM_QUIT:由PostQuitMessage函数发出的消息,退出应用程序时发出的消息
    wParam:含退出代码,标识程序退出运行时的有关信息
    lParam:未用

    8. WM_PAINT:需要窗口重画是产生的消息
    产生条件:
    用户移动或显示,用户改变窗口大小,程序通过滚动条滚动窗口,
    下拉式菜单关闭并需要恢复被覆盖的部分,
    Windows清除对话框等对象,并需要恢复被覆盖的部分

  • 相关阅读:
    win7(64)未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序的解决办法
    很方便的工具——代码生成工具之Winform查询列表界面生成
    程序员十几个常用网站
    优秀程序员不得不知道的20个位运算技巧
    unset()索引数组
    git 撤销修改
    git 版本回退
    git 命令详解
    git多账户配置
    Git的.ssh文件夹的内容
  • 原文地址:https://www.cnblogs.com/veis/p/6940009.html
Copyright © 2011-2022 走看看