zoukankan      html  css  js  c++  java
  • Delphi重定义的消息结构

      // 除去DDE和MDI消息,一共159个消息,其中部分消息仅仅的转定义
      // 普通消息,有两个参数和结果
      PMessage = ^TMessage;
      TMessage = packed record
        Msg: Cardinal;
        case Integer of
          0: (
            WParam: Longint;
            LParam: Longint;
            Result: Longint);
          1: (
            WParamLo: Word;
            WParamHi: Word;
            LParamLo: Word;
            LParamHi: Word;
            ResultLo: Word;
            ResultHi: Word);
      end;
      // 没有参数的消息
      TWMNoParams = packed record
        Msg: Cardinal;
        Unused: array[0..3] of Word;
        Result: Longint;
      end;
      // 按键
      TWMKey = packed record
        Msg: Cardinal;
        CharCode: Word;
        Unused: Word;
        KeyData: Longint;
        Result: Longint;
      end;
      // 鼠标消息
      TWMMouse = packed record
        Msg: Cardinal;
        Keys: Longint;
        case Integer of
          0: (
            XPos: Smallint;
            YPos: Smallint);
          1: (
            Pos: TSmallPoint;
            Result: Longint);
      end;
      TWMMouseWheel = packed record
        Msg: Cardinal;
        Keys: SmallInt;
        WheelDelta: SmallInt;
        case Integer of
          0: (
            XPos: Smallint;
            YPos: Smallint);
          1: (
            Pos: TSmallPoint;
            Result: Longint);
      end;
      TMSHMouseWheel = packed record
        Msg: Cardinal;
        WheelDelta: Integer;
        case Integer of
          0: (
            XPos: Smallint;
            YPos: Smallint);
          1: (
            Pos: TSmallPoint;
            Result: Longint);
      end;
      // 窗口位置
      TWMWindowPosMsg = packed record
        Msg: Cardinal;
        Unused: Integer;
        WindowPos: PWindowPos;
        Result: Longint;
      end;
      // 窗口滚动
      TWMScroll = packed record
        Msg: Cardinal;
        Pos: Smallint;
        ScrollBar: HWND;
        Result: Longint;
      end;
      // 
      TWMActivate = packed record
        Msg: Cardinal;
        Minimized: WordBool;
        ActiveWindow: HWND;
        Result: Longint;
      end;
      TWMActivateApp = packed record
        Msg: Cardinal;
        Active: BOOL;
        ThreadId: Longint;
        Result: Longint;
      end;
      TWMAskCBFormatName = packed record
        Msg: Cardinal;
        NameLen: Word;
        Unused: Word;
        FormatName: PChar;
        Result: Longint;
      end;
      TWMCancelMode = TWMNoParams;
      TWMChangeCBChain = packed record
        Msg: Cardinal;
        Remove: HWND;
        Next: HWND;
        Result: Longint;
      end;
      // 按键
      TWMChar = TWMKey;
      TWMCharToItem = packed record
        Msg: Cardinal;
        Key: Word;
        CaretPos: Word;
        ListBox: HWND;
        Result: Longint;
      end;
      // 激活子窗口
      TWMChildActivate = TWMNoParams;
      TWMChooseFont_GetLogFont = packed record
        Msg: Cardinal;
        Unused: Longint;
        LogFont: PLogFont;
        Result: Longint;
      end;
      TWMClear = TWMNoParams;
      TWMClose = TWMNoParams;
      // Command消息
      TWMCommand = packed record
        Msg: Cardinal;
        ItemID: Word;
        NotifyCode: Word;
        Ctl: HWND;
        Result: Longint;
      end;
      TWMCompacting = packed record
        Msg: Cardinal;
        CompactRatio: Longint;
        Unused: Longint;
        Result: Longint;
      end;
      TWMCompareItem = packed record
        Msg: Cardinal;
        Ctl: HWnd;
        CompareItemStruct: PCompareItemStruct;
        Result: Longint;
      end;
      TWMCopy = TWMNoParams;
      TWMCopyData = packed record
        Msg: Cardinal;
        From: HWND;
        CopyDataStruct: PCopyDataStruct;
        Result: Longint;
      end;
      // 创建窗口
      TWMCreate = packed record
        Msg: Cardinal;
        Unused: Integer;
        CreateStruct: PCreateStruct;
        Result: Longint;
      end;
      // 改变控件颜色
      TWMCtlColor = packed record
        Msg: Cardinal;
        ChildDC: HDC;
        ChildWnd: HWND;
        Result: Longint;
      end;
      TWMCtlColorBtn = TWMCtlColor;
      TWMCtlColorDlg = TWMCtlColor;
      TWMCtlColorEdit = TWMCtlColor;
      TWMCtlColorListbox = TWMCtlColor;
      TWMCtlColorMsgbox = TWMCtlColor;
      TWMCtlColorScrollbar = TWMCtlColor;
      TWMCtlColorStatic = TWMCtlColor;
      TWMCut = TWMNoParams;
      TWMDeadChar = TWMChar;
      TWMDeleteItem = packed record
        Msg: Cardinal;
        Ctl: HWND;
        DeleteItemStruct: PDeleteItemStruct;
        Result: Longint;
      end;
      TWMDestroy = TWMNoParams;
      TWMDestroyClipboard = TWMNoParams;
      TWMDevModeChange = packed record
        Msg: Cardinal;
        Unused: Integer;
        Device: PChar;
        Result: Longint;
      end;
      TWMDrawClipboard = TWMNoParams;
      TWMDrawItem = packed record
        Msg: Cardinal;
        Ctl: HWND;
        DrawItemStruct: PDrawItemStruct;
        Result: Longint;
      end;
      TWMDropFiles = packed record
        Msg: Cardinal;
        Drop: THANDLE;
        Unused: Longint;
        Result: Longint;
      end;
      TWMEnable = packed record
        Msg: Cardinal;
        Enabled: LongBool;
        Unused: Longint;
        Result: Longint;
      end;
      TWMEndSession = packed record
        Msg: Cardinal;
        EndSession: LongBool;
        Unused: Longint;
        Result: Longint;
      end;
      TWMEnterIdle = packed record
        Msg: Cardinal;
        IdleWnd: HWND;
        Result: Longint;
      end;
      TWMEnterMenuLoop = packed record
        Msg: Cardinal;
        IsTrackPopupMenu: LongBool;
        Unused: Longint;
        Result: Longint;
      end;
      TWMExitMenuLoop = TWMEnterMenuLoop;
      TWMEraseBkgnd = packed record
        Msg: Cardinal;
        DC: HDC;
        Unused: Longint;
        Result: Longint;
      end;
      TWMFontChange = TWMNoParams;
      TWMGetDlgCode = TWMNoParams;
      TWMGetFont = TWMNoParams;
      TWMGetIcon = packed record
        Msg: Cardinal;
        BigIcon: Longbool;
        Unused: Longint;
        Result: Longint;
      end;
      TWMGetHotKey = TWMNoParams;
      TWMGetMinMaxInfo = packed record
        Msg: Cardinal;
        Unused: Integer;
        MinMaxInfo: PMinMaxInfo;
        Result: Longint;
      end;
      TWMGetText = packed record
        Msg: Cardinal;
        TextMax: Integer;
        Text: PChar;
        Result: Longint;
      end;
      TWMGetTextLength = TWMNoParams;
      TWMHotKey = packed record
        Msg: Cardinal;
        HotKey: Longint;
        Unused: Longint;
        Result: Longint;
      end;
      TWMHScroll = TWMScroll;
      TWMHScrollClipboard = packed record
        Msg: Cardinal;
        Viewer: HWND;
        ScrollCode: Word; 
        Pos: Word;
        Result: Longint;
      end;
      TWMIconEraseBkgnd = TWMEraseBkgnd;
      TWMInitDialog = packed record
        Msg: Cardinal;
        Focus: HWND;
        InitParam: Longint;
        Result: Longint;
      end;
      TWMInitMenu = packed record
        Msg: Cardinal;
        Menu: HMENU;
        Unused: Longint;
        Result: Longint;
      end;
      TWMInitMenuPopup = packed record
        Msg: Cardinal;
        MenuPopup: HMENU;
        Pos: Smallint;
        SystemMenu: WordBool;
        Result: Longint;
      end;
      TWMKeyDown = TWMKey;
      TWMKeyUp = TWMKey;
      TWMKillFocus = packed record
        Msg: Cardinal;
        FocusedWnd: HWND;
        Unused: Longint;
        Result: Longint;
      end;
      TWMLButtonDblClk = TWMMouse;
      TWMLButtonDown   = TWMMouse;
      TWMLButtonUp     = TWMMouse;
      TWMMButtonDblClk = TWMMouse;
      TWMMButtonDown   = TWMMouse;
      TWMMButtonUp     = TWMMouse;
      TWMMeasureItem = packed record
        Msg: Cardinal;
        IDCtl: HWnd;
        MeasureItemStruct: PMeasureItemStruct;
        Result: Longint;
      end;
      TWMMenuChar = packed record
        Msg: Cardinal;
        User: Char;
        Unused: Byte;
        Menu: HMENU;
        Result: Longint;
      end;
      TWMMenuSelect = packed record
        Msg: Cardinal;
        IDItem: Word;
        MenuFlag: Word;
        Menu: HMENU;
        Result: Longint;
      end;
      TWMMouseActivate = packed record
        Msg: Cardinal;
        TopLevel: HWND;
        HitTestCode: Word;
        MouseMsg: Word;
        Result: Longint;
      end;
      TWMMouseMove = TWMMouse;
      TWMMove = packed record
        Msg: Cardinal;
        Unused: Integer;
        case Integer of
          0: (
            XPos: Smallint;
            YPos: Smallint);
          1: (
            Pos: TSmallPoint;
            Result: Longint);
      end;
      TWMMoving = packed record
        Msg: Cardinal;
        Edge: Integer;
        DragRect: PRect;
      end;
      TWMNCActivate = packed record
        Msg: Cardinal;
        Active: BOOL;
        Unused: Longint;
        Result: Longint;
      end;
      TWMNCCalcSize = packed record
        Msg: Cardinal;
        CalcValidRects: BOOL;
        CalcSize_Params: PNCCalcSizeParams;
        Result: Longint;
      end;
      TWMNCCreate = packed record
        Msg: Cardinal;
        Unused: Integer;
        CreateStruct: PCreateStruct;
        Result: Longint;
      end;
      TWMNCDestroy = TWMNoParams;
      TWMNCHitTest = packed record
        Msg: Cardinal;
        Unused: Longint;
        case Integer of
          0: (
            XPos: Smallint;
            YPos: Smallint);
          1: (
            Pos: TSmallPoint;
            Result: Longint);
      end;
      TWMNCHitMessage = packed record
        Msg: Cardinal;
        HitTest: Longint;
        XCursor: Smallint;
        YCursor: Smallint;
        Result: Longint;
      end;
      TWMNCLButtonDblClk = TWMNCHitMessage;
      TWMNCLButtonDown   = TWMNCHitMessage;
      TWMNCLButtonUp     = TWMNCHitMessage;
      TWMNCMButtonDblClk = TWMNCHitMessage;
      TWMNCMButtonDown   = TWMNCHitMessage;
      TWMNCMButtonUp     = TWMNCHitMessage;
      TWMNCMouseMove     = TWMNCHitMessage;
      TWMNCPaint = packed record
        Msg: Cardinal;
        RGN: HRGN;
        Unused: Longint;
        Result: Longint;
      end;
      TWMNCRButtonDblClk = TWMNCHitMessage;
      TWMNCRButtonDown   = TWMNCHitMessage;
      TWMNCRButtonUp     = TWMNCHitMessage;
      TWMNextDlgCtl = packed record
        Msg: Cardinal;
        CtlFocus: Longint;
        Handle: WordBool;
        Unused: Word;
        Result: Longint;
      end;
      TWMNotify = packed record
        Msg: Cardinal;
        IDCtrl: Longint;
        NMHdr: PNMHdr;
        Result: Longint;
      end;
      TWMNotifyFormat = packed record
        Msg: Cardinal;
        From: HWND;
        Command: Longint;
        Result: Longint;
      end;
      TWMPaint = packed record
        Msg: Cardinal;
        DC: HDC;
        Unused: Longint;
        Result: Longint;
      end;
      TWMPaintClipboard = packed record
        Msg: Cardinal;
        Viewer: HWND;
        PaintStruct: THandle;
        Result: Longint;
      end;
      TWMPaintIcon = TWMNoParams;
      TWMPaletteChanged = packed record
        Msg: Cardinal;
        PalChg: HWND;
        Unused: Longint;
        Result: Longint;
      end;
      TWMPaletteIsChanging = packed record
        Msg: Cardinal;
        Realize: HWND;
        Unused: Longint;
        Result: Longint;
      end;
      TWMParentNotify = packed record
        Msg: Cardinal;
        case Event: Word of
          WM_CREATE, WM_DESTROY: (
            ChildID: Word;
            ChildWnd: HWnd);
          WM_LBUTTONDOWN, WM_MBUTTONDOWN, WM_RBUTTONDOWN: (
            Value: Word;
            XPos: Smallint;
            YPos: Smallint);
          0: (
            Value1: Word;
            Value2: Longint;
            Result: Longint);
      end;
      TWMPaste = TWMNoParams;
      TWMPower = packed record
        Msg: Cardinal;
        PowerEvt: Longint;
        Unused: Longint;
        Result: Longint;
      end;
      TWMQueryDragIcon = TWMNoParams;
      TWMQueryEndSession = packed record
        Msg: Cardinal;
        Source: Longint;
        Unused: Longint;
        Result: Longint;
      end;
      TWMQueryNewPalette = TWMNoParams;
      TWMQueryOpen = TWMNoParams;
      TWMQueueSync = TWMNoParams;
      TWMQuit = packed record
        Msg: Cardinal;
        ExitCode: Longint;
        Unused: Longint;
        Result: Longint;
      end;
      TWMRButtonDblClk = TWMMouse;
      TWMRButtonDown = TWMMouse;
      TWMRButtonUp = TWMMouse;
      TWMRenderAllFormats = TWMNoParams;
      TWMRenderFormat = packed record
        Msg: Cardinal;
        Format: Longint;
        Unused: Longint;
        Result: Longint;
      end;
      TWMSetCursor = packed record
        Msg: Cardinal;
        CursorWnd: HWND;
        HitTest: Word;
        MouseMsg: Word;
        Result: Longint;
      end;
      TWMSetFocus = packed record
        Msg: Cardinal;
        FocusedWnd: HWND;
        Unused: Longint;
        Result: Longint;
      end;
      TWMSetFont = packed record
        Msg: Cardinal;
        Font: HFONT;
        Redraw: WordBool;
        Unused: Word;
        Result: Longint;
      end;
      TWMSetHotKey = packed record
        Msg: Cardinal;
        Key: Longint;
        Unused: Longint;
        Result: Longint;
      end;
      TWMSetIcon = packed record
        Msg: Cardinal;
        BigIcon: Longbool;
        Icon: HICON;
        Result: Longint;
      end;
      TWMSetRedraw = packed record
        Msg: Cardinal;
        Redraw: Longint;
        Unused: Longint;
        Result: Longint;
      end;
      TWMSetText = packed record
        Msg: Cardinal;
        Unused: Longint;
        Text: PChar;
        Result: Longint;
      end;
      TWMShowWindow = packed record
        Msg: Cardinal;
        Show: BOOL;
        Status: Longint;
        Result: Longint;
      end;
      TWMSize = packed record
        Msg: Cardinal;
        SizeType: Longint;
        Width: Word;
        Height: Word;
        Result: Longint;
      end;
      TWMSizeClipboard = packed record
        Msg: Cardinal;
        Viewer: HWND;
        RC: THandle;
        Result: Longint;
      end;
      TWMSpoolerStatus = packed record
        Msg: Cardinal;
        JobStatus: Longint;
        JobsLeft: Word;
        Unused: Word;
        Result: Longint;
      end;
      TWMStyleChange = packed record
        Msg: Cardinal;
        StyleType: Longint;
        StyleStruct: PStyleStruct;
        Result: Longint;
      end;
      TWMStyleChanged = TWMStyleChange;
      TWMStyleChanging = TWMStyleChange;
      TWMSysChar = TWMKey;
      TWMSysColorChange = TWMNoParams;
      TWMSysCommand = packed record
        Msg: Cardinal;
        case CmdType: Longint of
          SC_HOTKEY: (
            ActivateWnd: HWND);
          SC_KEYMENU: (
            Key: Word);
          SC_CLOSE, SC_HSCROLL, SC_MAXIMIZE, SC_MINIMIZE, SC_MOUSEMENU, SC_MOVE,
          SC_NEXTWINDOW, SC_PREVWINDOW, SC_RESTORE, SC_SCREENSAVE, SC_SIZE,
          SC_TASKLIST, SC_VSCROLL: (
            XPos: Smallint;
            YPos: Smallint;
            Result: Longint);
      end;
      TWMSysDeadChar = packed record
        Msg: Cardinal;
        CharCode: Word;
        Unused: Word;
        KeyData: Longint;
        Result: Longint;
      end;
      TWMSysKeyDown = TWMKey;
      TWMSysKeyUp = TWMKey;
      TWMSystemError = packed record
        Msg: Cardinal;
        ErrSpec: Word;
        Unused: Longint;
        Result: Longint;
      end;
      TWMTimeChange = TWMNoParams;
      TWMTimer = packed record
        Msg: Cardinal;
        TimerID: Longint;
        TimerProc: TFarProc;
        Result: Longint;
      end;
      TWMUIState = packed record
        Msg: Cardinal;
        Action: Word;
        Flags: Word;
        Unused: Longint;
      end;
      TWMChangeUIState = TWMUIState;
      TWMUpdateUIState = TWMUIState;
      TWMQueryUIState = TWMNoParams;
      TWMUndo = TWMNoParams;
      TWMVKeyToItem = TWMCharToItem;
      TWMVScroll = TWMScroll;
      TWMVScrollClipboard = packed record
        Msg: Cardinal;
        Viewer: HWND;
        ScollCode: Word;
        ThumbPos: Word;
        Result: Longint;
      end;
      TWMWindowPosChanged = TWMWindowPosMsg;
      TWMWindowPosChanging = TWMWindowPosMsg;
      TWMWinIniChange = packed record
        Msg: Cardinal;
        Unused: Integer;
        Section: PChar;
        Result: Longint;
      end;
      TWMSettingChange = packed record
        Msg: Cardinal;
        Flag: Integer;
        Section: PChar;
        Result: Longint;
      end;
      TWMHelp = packed record
        Msg: Cardinal;
        Unused: Integer;
        HelpInfo: PHelpInfo;
        Result: Longint;
      end;
      TWMDisplayChange = packed record
        Msg: Cardinal;
        BitsPerPixel: Integer;
        Width: Word;
        Height: Word;
        Result: Longint;
      end;
      TWMContextMenu = packed record
        Msg: Cardinal;
        hWnd: HWND;
        case Integer of
          0: (
            XPos: Smallint;
            YPos: Smallint);
          1: (
            Pos: TSmallPoint;
            Result: Longint);
      end;
      TWMPrint = packed record
        Msg: Cardinal;
        DC: HDC;
        Flags: Cardinal;
        Result: Integer;
      end;
      TWMPrintClient = TWMPrint;
  • 相关阅读:
    反向迭代器实现字符串逆序
    排序更新
    快速排序的实现方法,调用sort函数
    第k个素数
    ACM Online Judge
    Hadoop系列(一)开篇简介
    Hadoop系列(番外) hadoop3.1.2的完全分布式部署
    synchronized关键字
    Oracle的运行
    在Oracle下创建数据库,连接数据库
  • 原文地址:https://www.cnblogs.com/findumars/p/3249585.html
Copyright © 2011-2022 走看看