// 除去DDE和MDI消息,一共159个消息,其中部分消息仅仅的转定义
// 普通消息,有两个参数和结果
PMessage = ^TMessage;
TMessage = packed record
Msg: Cardinal;
case Integer of
: (
WParam: Longint;
LParam: Longint;
Result: Longint);
: (
WParamLo: Word;
WParamHi: Word;
LParamLo: Word;
LParamHi: Word;
ResultLo: Word;
ResultHi: Word);
end;
// 没有参数的消息
TWMNoParams = packed record
Msg: Cardinal;
Unused: array[..] 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
: (
XPos: Smallint;
YPos: Smallint);
: (
Pos: TSmallPoint;
Result: Longint);
end;
TWMMouseWheel = packed record
Msg: Cardinal;
Keys: SmallInt;
WheelDelta: SmallInt;
case Integer of
: (
XPos: Smallint;
YPos: Smallint);
: (
Pos: TSmallPoint;
Result: Longint);
end;
TMSHMouseWheel = packed record
Msg: Cardinal;
WheelDelta: Integer;
case Integer of
: (
XPos: Smallint;
YPos: Smallint);
: (
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
: (
XPos: Smallint;
YPos: Smallint);
: (
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
: (
XPos: Smallint;
YPos: Smallint);
: (
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);
: (
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
: (
XPos: Smallint;
YPos: Smallint);
: (
Pos: TSmallPoint;
Result: Longint);
end;
TWMPrint = packed record
Msg: Cardinal;
DC: HDC;
Flags: Cardinal;
Result: Integer;
end;
TWMPrintClient = TWMPrint;

Delphi重定义的消息结构的更多相关文章

  1. 终于懂了:Delphi重定义消息结构随心所欲,只需要前4个字节是消息编号就行了(有了这个,就有了主动)

    Delphi重定义消息结构随心所欲,只需要前4个字节是消息编号就行了,跟Windows消息虽然尽量保持一致,但其实相互没有特别大的关系.有了这个,就有了主动,带不带句柄完全看需要. 比如这个结构就带句 ...

  2. WM_PAINT在微软官方定义中,wParam和lParam都没有使用,所以就被Delphi给重定义了这个消息,还增加了DC(Delphi可任意改写消息的结构)

    LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); Parameters wParam ...

  3. Delphi 7里Messages.pas里所有104种重定义消息种类,180种不同的消息名称

    Delphi 7里Messages.pas里所有消息.经统计,共104种重定义消息种类,方便使用,180种不同的消息名称.省得像VC里一样,处处自己解析wParam和LParam参数进行分析.有空我要 ...

  4. 深入delphi编程理解之消息(二)发送消息函数及消息编号、消息结构体的理解

    一.delphi发送消息的函数主要有以下三个: (一).SendMessage函数,其原型如下: function SendMessage( hWnd: HWND; {目标句柄} Msg: UINT; ...

  5. oracle 11g 通过在线重定义方式修改表结构

    今天因为要对一套数据库的数据抽取进行io优化,希望通过修改表结构将抽取io降下来,因为抽取只针对标签HAVE_FLAG为"0"的值进行抽取,抽取之后更新HAVE_FLAG为其他值, ...

  6. dbms_redefinition在线重定义表结构 可以在表分区的时候使用

    dbms_redefinition在线重定义表结构 (2013-08-29 22:52:58) 转载▼ 标签: dbms_redefinition 非分区表转换成分区表 王显伟 在线重定义表结构 在线 ...

  7. dbms_redefinition在线重定义表结构

    dbms_redefinition在线重定义表结构 (2013-08-29 22:52:58) 转载▼ 标签: dbms_redefinition 非分区表转换成分区表 王显伟 在线重定义表结构 在线 ...

  8. Delphi的程序单元、结构、基础知识(转)

    Object Passal的程序结构很特殊,与其它语言如C++,Object Windows等结构都不同.一个Delphi程序由多个称为单元的源代码模块组成.使用单元可以把一个大型程序分成多个逻辑相关 ...

  9. ZeroMQ接口函数之 :zmq_msg_init - 初始化一个空的ZMQ消息结构

    ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_msg_init zmq_msg_init(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_ ...

随机推荐

  1. 利用pandas进行数据分析之三:DataFrame与Series基本功能

    未经同意请勿转载http://www.cnblogs.com/smallcrystal/ 前文已经详细介绍DataFrame与Series两种数据结构,下面介绍DataFrame与Series的数据基 ...

  2. 【MyBatis学习14】MyBatis和Spring整合

    前面十几篇博文总结了mybatis在开发中的相关技术,但在实际中都是和spring整合开发的,所以这里总结一下mybatis和spring的整合方法,并在整合后进行测试. 1. 整合的环境 这都是老掉 ...

  3. MongoDB查询经典方式

    原文地址:http://www.cnblogs.com/stephen-liu74/archive/2012/08/03/2553803.html 1.  基本查询:    构造查询数据.    &g ...

  4. SQL联查语句加上order排序之后速度超级慢

    项目中使用到了分页查询,形式如下 select * from ( select row_number() over (order by a.id0) as seq,a.* from PMS_T_D_S ...

  5. 在iis6里使用没有扩展名的mvc

    这2天mvc第二个预览终于出来了.赶紧拿过来测试.在装了3.5的虚拟主机上运行正常.应该已经可以到能正常使用的阶段了.不过我前面一篇翻译的文章中说到,如果使用的是iis6的话就只能忍气吞声的使用带扩展 ...

  6. jpeg错误打印结构

    struct jpeg_error_mgr { /* Error exit handler: does not return to caller */ JMETHOD(void, error_exit ...

  7. There's no Qt version assigned to this project for platform Win32. Please use the 'change Qt version' feature and choose a valid Qt version for this platform.

    这个是用在vs2015时爆出的问题. 解决方法是: 1.鼠标放置在解决方案中的工程名处,用鼠标右键点击(右击). 2.选择Qt Project Settings,在弹出的对话框中的version栏处填 ...

  8. 基于C#的超市收银管理系统

    基于C#的超市收银管理系统 前序 一直在忙学习Qt有关的知识,非常有幸这学期学习了C#.让我也感觉到了一丝欣慰,欣慰的是感觉好上手啊,学了几天顿时懂了.好多控件的使用方法好类似,尽管平时上课没有怎么认 ...

  9. HDU - 5017 Ellipsoid(模拟退火法)

    Problem Description Given a 3-dimension ellipsoid(椭球面) your task is to find the minimal distance bet ...

  10. Swoole系列(二):安装

    Window是没办法安装的,服务器版本建议用linux的centos7 Php版本5.4 安装步骤: 1.更新你的yum yum update 2.安装php相关扩展 2.yum install ph ...