zoukankan      html  css  js  c++  java
  • 【整理】窗体消息(Window Messages) 的宏定义

    /*
     * 关于操作系统版本的宏定义
     */

    Windows Vista以上
    _WIN32_WINNT>=0x0600
    WINVER>=0x0600
     
    Windows Server 2003
    _WIN32_WINNT>=0x0502                                     
    WINVER>=0x0502
     
    Windows XP
    _WIN32_WINNT>=0x0501                                 
    WINVER>=0x0501
     
    Windows 2000                            
    _WIN32_WINNT>=0x0500                        
    WINVER>=0x0500
     
    Windows NT 4.0
    _WIN32_WINNT>=0x0400                              
    WINVER>=0x0400

    //以下内容摘自 WinUser.h,仅为个人使用方便而做的整理摘录。By:AsionTang

    /*
     * Window Messages
     */

    #define WM_NULL                         0x0000
    #define WM_CREATE                       0x0001
    #define WM_DESTROY                      0x0002
    #define WM_MOVE                         0x0003
    #define WM_SIZE                         0x0005

    #define WM_ACTIVATE                     0x0006
    /*
     * WM_ACTIVATE state values
     */
    #define     WA_INACTIVE     0
    #define     WA_ACTIVE       1
    #define     WA_CLICKACTIVE  2

    #define WM_SETFOCUS                     0x0007
    #define WM_KILLFOCUS                    0x0008
    #define WM_ENABLE                       0x000A
    #define WM_SETREDRAW                    0x000B
    #define WM_SETTEXT                      0x000C
    #define WM_GETTEXT                      0x000D
    #define WM_GETTEXTLENGTH                0x000E
    #define WM_PAINT                        0x000F
    #define WM_CLOSE                        0x0010
    #ifndef _WIN32_WCE
    #define WM_QUERYENDSESSION              0x0011
    #define WM_QUERYOPEN                    0x0013
    #define WM_ENDSESSION                   0x0016
    #endif
    #define WM_QUIT                         0x0012
    #define WM_ERASEBKGND                   0x0014
    #define WM_SYSCOLORCHANGE               0x0015
    #define WM_SHOWWINDOW                   0x0018
    #define WM_WININICHANGE                 0x001A
    #if(WINVER >= 0x0400)
    #define WM_SETTINGCHANGE                WM_WININICHANGE
    #endif /* WINVER >= 0x0400 */


    #define WM_DEVMODECHANGE                0x001B
    #define WM_ACTIVATEAPP                  0x001C
    #define WM_FONTCHANGE                   0x001D
    #define WM_TIMECHANGE                   0x001E
    #define WM_CANCELMODE                   0x001F
    #define WM_SETCURSOR                    0x0020
    #define WM_MOUSEACTIVATE                0x0021
    #define WM_CHILDACTIVATE                0x0022
    #define WM_QUEUESYNC                    0x0023

    #define WM_GETMINMAXINFO                0x0024
    /*
     * Struct pointed to by WM_GETMINMAXINFO lParam
     */
    typedef struct tagMINMAXINFO {
        POINT ptReserved;
        POINT ptMaxSize;
        POINT ptMaxPosition;
        POINT ptMinTrackSize;
        POINT ptMaxTrackSize;
    } MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;

    #define WM_PAINTICON                    0x0026
    #define WM_ICONERASEBKGND               0x0027
    #define WM_NEXTDLGCTL                   0x0028
    #define WM_SPOOLERSTATUS                0x002A
    #define WM_DRAWITEM                     0x002B
    #define WM_MEASUREITEM                  0x002C
    #define WM_DELETEITEM                   0x002D
    #define WM_VKEYTOITEM                   0x002E
    #define WM_CHARTOITEM                   0x002F
    #define WM_SETFONT                      0x0030
    #define WM_GETFONT                      0x0031
    #define WM_SETHOTKEY                    0x0032
    #define WM_GETHOTKEY                    0x0033
    #define WM_QUERYDRAGICON                0x0037
    #define WM_COMPAREITEM                  0x0039
    #if(WINVER >= 0x0500)
    #ifndef _WIN32_WCE
    #define WM_GETOBJECT                    0x003D
    #endif
    #endif /* WINVER >= 0x0500 */
    #define WM_COMPACTING                   0x0041
    #define WM_COMMNOTIFY                   0x0044  /* no longer suported */
    #define WM_WINDOWPOSCHANGING            0x0046
    #define WM_WINDOWPOSCHANGED             0x0047

    #define WM_POWER                        0x0048
    /*
     * wParam for WM_POWER window message and DRV_POWER driver notification
     */
    #define PWR_OK              1
    #define PWR_FAIL            (-1)
    #define PWR_SUSPENDREQUEST  1
    #define PWR_SUSPENDRESUME   2
    #define PWR_CRITICALRESUME  3

    #define WM_COPYDATA                     0x004A
    #define WM_CANCELJOURNAL                0x004B

    /*
     * lParam of WM_COPYDATA message points to...
     */
    typedef struct tagCOPYDATASTRUCT {
        ULONG_PTR dwData;
        DWORD cbData;
        __field_bcount(cbData) PVOID lpData;
    } COPYDATASTRUCT, *PCOPYDATASTRUCT;

    #if(WINVER >= 0x0400)
    typedef struct tagMDINEXTMENU
    {
        HMENU   hmenuIn;
        HMENU   hmenuNext;
        HWND    hwndNext;
    } MDINEXTMENU, * PMDINEXTMENU, FAR * LPMDINEXTMENU;
    #endif /* WINVER >= 0x0400 */


    #if(WINVER >= 0x0400)
    #define WM_NOTIFY                       0x004E
    #define WM_INPUTLANGCHANGEREQUEST       0x0050
    #define WM_INPUTLANGCHANGE              0x0051
    #define WM_TCARD                        0x0052
    #define WM_HELP                         0x0053
    #define WM_USERCHANGED                  0x0054
    #define WM_NOTIFYFORMAT                 0x0055

    #define NFR_ANSI                             1
    #define NFR_UNICODE                          2
    #define NF_QUERY                             3
    #define NF_REQUERY                           4

    #define WM_CONTEXTMENU                  0x007B
    #define WM_STYLECHANGING                0x007C
    #define WM_STYLECHANGED                 0x007D
    #define WM_DISPLAYCHANGE                0x007E
    #define WM_GETICON                      0x007F
    #define WM_SETICON                      0x0080
    #endif /* WINVER >= 0x0400 */

    #define WM_NCCREATE                     0x0081
    #define WM_NCDESTROY                    0x0082
    #define WM_NCCALCSIZE                   0x0083
    #define WM_NCHITTEST                    0x0084
    #define WM_NCPAINT                      0x0085
    #define WM_NCACTIVATE                   0x0086
    #define WM_GETDLGCODE                   0x0087
    #ifndef _WIN32_WCE
    #define WM_SYNCPAINT                    0x0088
    #endif
    #define WM_NCMOUSEMOVE                  0x00A0
    #define WM_NCLBUTTONDOWN                0x00A1
    #define WM_NCLBUTTONUP                  0x00A2
    #define WM_NCLBUTTONDBLCLK              0x00A3
    #define WM_NCRBUTTONDOWN                0x00A4
    #define WM_NCRBUTTONUP                  0x00A5
    #define WM_NCRBUTTONDBLCLK              0x00A6
    #define WM_NCMBUTTONDOWN                0x00A7
    #define WM_NCMBUTTONUP                  0x00A8
    #define WM_NCMBUTTONDBLCLK              0x00A9

    #if(_WIN32_WINNT >= 0x0500)
    #define WM_NCXBUTTONDOWN                0x00AB
    #define WM_NCXBUTTONUP                  0x00AC
    #define WM_NCXBUTTONDBLCLK              0x00AD
    #endif /* _WIN32_WINNT >= 0x0500 */


    #if(_WIN32_WINNT >= 0x0501)
    #define WM_INPUT_DEVICE_CHANGE          0x00FE
    #endif /* _WIN32_WINNT >= 0x0501 */

    #if(_WIN32_WINNT >= 0x0501)
    #define WM_INPUT                        0x00FF
    #endif /* _WIN32_WINNT >= 0x0501 */

    #define WM_KEYFIRST                     0x0100
    #define WM_KEYDOWN                      0x0100
    #define WM_KEYUP                        0x0101
    #define WM_CHAR                         0x0102
    #define WM_DEADCHAR                     0x0103
    #define WM_SYSKEYDOWN                   0x0104
    #define WM_SYSKEYUP                     0x0105
    #define WM_SYSCHAR                      0x0106
    #define WM_SYSDEADCHAR                  0x0107
    #if(_WIN32_WINNT >= 0x0501)
    #define WM_UNICHAR                      0x0109
    #define WM_KEYLAST                      0x0109
    #define UNICODE_NOCHAR                  0xFFFF
    #else
    #define WM_KEYLAST                      0x0108
    #endif /* _WIN32_WINNT >= 0x0501 */

    #if(WINVER >= 0x0400)
    #define WM_IME_STARTCOMPOSITION         0x010D
    #define WM_IME_ENDCOMPOSITION           0x010E
    #define WM_IME_COMPOSITION              0x010F
    #define WM_IME_KEYLAST                  0x010F
    #endif /* WINVER >= 0x0400 */

    #define WM_INITDIALOG                   0x0110
    #define WM_COMMAND                      0x0111
    #define WM_SYSCOMMAND                   0x0112
    #define WM_TIMER                        0x0113
    #define WM_HSCROLL                      0x0114
    #define WM_VSCROLL                      0x0115
    #define WM_INITMENU                     0x0116
    #define WM_INITMENUPOPUP                0x0117
    #if(WINVER >= 0x0601)
    #define WM_GESTURE                      0x0119
    #define WM_GESTURENOTIFY                0x011A
    #endif /* WINVER >= 0x0601 */
    #define WM_MENUSELECT                   0x011F
    #define WM_MENUCHAR                     0x0120
    #define WM_ENTERIDLE                    0x0121
    #if(WINVER >= 0x0500)
    #ifndef _WIN32_WCE
    #define WM_MENURBUTTONUP                0x0122
    #define WM_MENUDRAG                     0x0123
    #define WM_MENUGETOBJECT                0x0124
    #define WM_UNINITMENUPOPUP              0x0125
    #define WM_MENUCOMMAND                  0x0126

    #ifndef _WIN32_WCE
    #if(_WIN32_WINNT >= 0x0500)
    #define WM_CHANGEUISTATE                0x0127
    #define WM_UPDATEUISTATE                0x0128
    #define WM_QUERYUISTATE                 0x0129

    作者:Asion Tang
    凡是没有注明[转载]的文章,本Blog发表的文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    web app变革之rem
    理解angularjs的作用域
    移动开发框架
    angularjs ng-repeat下验证问题
    10、长链接转短链接
    8、自定义菜单及菜单响应事件的处理
    9、多公众号集中管理
    7、消息管理-接收事件推送
    6、消息管理-普通消息接受处理
    5、用户和用户组管理-支持同步
  • 原文地址:https://www.cnblogs.com/AsionTang/p/2042263.html
Copyright © 2011-2022 走看看