// 除去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;