Delphi 7里Messages.pas里所有104种重定义消息种类,180种不同的消息名称
Delphi 7里Messages.pas里所有消息。经统计,共104种重定义消息种类,方便使用,180种不同的消息名称。省得像VC里一样,处处自己解析wParam和LParam参数进行分析。有空我要把它们一个一个标注和学习一下。另外要强调一点:Delphi里所有的消息都没有包含Handle,Handle本身不是消息的一部分(VC里也是这样),除非有些消息要用到2个Handle。但是注意,另有TMsg结构,定义在windows.pas文件里。除此之外,还定义有 TEventMsg TCreateStruct 等许多结构,都是需要学习和注意的地方。
tagMSG = packed record
hwnd: HWND;
message: UINT;
wParam: WPARAM;
lParam: LPARAM;
time: DWORD;
pt: TPoint;
end;
TMsg = tagMSG;
// ====================正文开始======================================
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;
{ Common message format records }
// 无论消息怎么重定义,总长度都是4个integer
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 // MS鼠标滚轮
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;
ScrollCode: Smallint; { SB_xxxx }
Pos: Smallint;
ScrollBar: HWND;
Result: Longint;
end;
{ Message records }
TWMActivate = packed record
Msg: Cardinal;
Active: Word; { WA_INACTIVE, WA_ACTIVE, WA_CLICKACTIVE }
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 // 难道是Hook消息?
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;
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;
{ ?? WM_CLP_LAUNCH, WM_CPL_LAUNCHED }
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;
TWMDDE_Ack = packed record
Msg: Cardinal;
PostingApp: HWND;
case Word of
WM_DDE_INITIATE: (
App: Word;
Topic: Word;
Result: Longint);
WM_DDE_EXECUTE {and all others}: (
PackedVal: Longint);
end;
TWMDDE_Advise = packed record
Msg: Cardinal;
PostingApp: HWND;
PackedVal: Longint;
Result: Longint;
end;
TWMDDE_Data = packed record
Msg: Cardinal;
PostingApp: HWND;
PackedVal: Longint;
Result: Longint;
end;
TWMDDE_Execute = packed record
Msg: Cardinal;
PostingApp: HWND;
Commands: THandle;
Result: Longint;
end;
TWMDDE_Initiate = packed record
Msg: Cardinal;
PostingApp: HWND;
App: Word;
Topic: Word;
Result: Longint;
end;
TWMDDE_Poke = packed record
Msg: Cardinal;
PostingApp: HWND;
PackedVal: Longint;
Result: Longint;
end;
TWMDDE_Request = packed record
Msg: Cardinal;
PostingApp: HWND;
Format: Word;
Item: Word;
Result: Longint;
end;
TWMDDE_Terminate = packed record
Msg: Cardinal;
PostingApp: HWND;
Unused: Longint;
Result: Longint;
end;
TWMDDE_Unadvise = packed record
Msg: Cardinal;
PostingApp: HWND;
Format: Word;
Item: Word;
Result: Longint;
end;
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;
Source: Longint; { MSGF_DIALOGBOX, MSGF_MENU }
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; // 已经含有DC句柄了
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; {SB_BOTTOM, SB_ENDSCROLL, SB_LINEDOWN, SB_LINEUP,
SB_PAGEDOWN, SB_PAGEUP, SB_THUMBPOSITION,
SB_THUMBTRACK, SB_TOP }
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;
TWMMDIActivate = packed record
Msg: Cardinal;
case Integer of
0: (
ChildWnd: HWND);
1: (
DeactiveWnd: HWND;
ActiveWnd: HWND;
Result: Longint);
end;
TWMMDICascade = packed record
Msg: Cardinal;
Cascade: Longint; { 0, MDITILE_SKIPDISABLED }
Unused: Longint;
Result: Longint;
end;
TWMMDICreate = packed record
Msg: Cardinal;
Unused: Integer;
MDICreateStruct: PMDICreateStruct;
Result: Longint;
end;
TWMMDIDestroy = packed record
Msg: Cardinal;
Child: HWND;
Unused: Longint;
Result: Longint;
end;
TWMMDIGetActive = TWMNoParams;
TWMMDIIconArrange = TWMNoParams;
TWMMDIMaximize = packed record
Msg: Cardinal;
Maximize: HWND;
Unused: Longint;
Result: Longint;
end;
TWMMDINext = packed record
Msg: Cardinal;
Child: HWND;
Next: Longint;
Result: Longint;
end;
TWMMDIRefreshMenu = TWMNoParams;
TWMMDIRestore = packed record
Msg: Cardinal;
IDChild: HWND;
Unused: Longint;
Result: Longint;
end;
TWMMDISetMenu = packed record
Msg: Cardinal;
MenuFrame: HMENU;
MenuWindow: HMENU;
Result: Longint;
end;
TWMMDITile = packed record
Msg: Cardinal;
Tile: Longint; { MDITILE_HORIZONTAL, MDITILE_SKIPDISABLE,
MDITILE_VERTICAL }
Unused: Longint;
Result: Longint;
end;
TWMMeasureItem = packed record
Msg: Cardinal;
IDCtl: HWnd;
MeasureItemStruct: PMeasureItemStruct;
Result: Longint;
end;
TWMMenuChar = packed record
Msg: Cardinal;
User: Char;
Unused: Byte;
MenuFlag: Word; { MF_POPUP, MF_SYSMENU }
Menu: HMENU;
Result: Longint;
end;
TWMMenuSelect = packed record
Msg: Cardinal;
IDItem: Word;
MenuFlag: Word; { MF_BITMAP, MF_CHECKED, MF_DISABLED, MF_GRAYED,
MF_MOUSESELECT, MF_OWNERDRAW, MF_POPUP, MF_SEPARATOR,
MF_SYSMENU }
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; { PWR_SUSPENDREQUEST, PWR_SUSPENDRESUME,
PWR_CRITICALRESUME }
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; { SIZE_MAXIMIZED, SIZE_MINIMIZED, SIZE_RESTORED,
SIZE_MAXHIDE, SIZE_MAXSHOW }
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);
// 13种系统消息,另外热键和菜单消息
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;
-----------------------------------------------------------------------------------------------------
RegisterWindowMessage
RegisterWindowMessage用于在windows系统中注册一个唯一的消息。
如果注册成功时,直接返回消息号,消息号的范围在 0xC000 (3072) 到 0xFFFF (65535) 之间。
如果注册失败时,则该函数返回 0。
注意:当以字符串所标识的消息存在时,则直接返回该字符串所对应的消息号。
Delphi 7里Messages.pas里所有104种重定义消息种类,180种不同的消息名称的更多相关文章
- Messages.pas里的消息
一.Windows 消息大全 这张表拷贝自万一兄的帖子:http://www.cnblogs.com/del/archive/2008/02/25/1079970.html 但是我希望自己能把这些消息 ...
- access数据库:怎么直接从access里把数据里同样的文字替换成空字符""
access数据库:怎么直接从access里把数据里同样的文字替换成空字符"" 搜所到文字后,替换的项里写"",就是了.一定要是英文的""
- Safari 里的javascript 里不能用submit作为函数名
Safari 里的javascript 里不能用submit作为函数名, 这样写的时候,怎么也运行不了JeasyUI的onSubmit的function, 改个名就可以了.而在chrome下面就没问题 ...
- 【转】js中通过docment.cookie获取到的内容不完整! 在浏览器的application里的cookie里可以看到完整的cookie,个别字段无法通过document.cookie获取。 是否有其他办法可以获取到??
js中通过docment.cookie获取到的内容不完整!在浏览器的application里的cookie里可以看到完整的cookie,个别字段无法通过document.cookie获取.是否有其他办 ...
- delphi中单独编译pas生成dcu文件
delphi中单独编译pas生成dcu文件 在网上下载了一个带源码的组件,结果碰到提示说缺少xxx.dcu.一看它的目录下确实没有,那能不能生成一个呢? 当然可以! 方法是使用delphi的安装目录\ ...
- Bugku-web进阶之phpcmsV9(一个靶机而已,别搞破坏。flag在根目录里txt文件里)
phpcmsV9 一个靶机而已,别搞破坏. flag在根目录里txt文件里 http://123.206.87.240:8001/
- 终于懂了:Delphi重定义消息结构随心所欲,只需要前4个字节是消息编号就行了(有了这个,就有了主动)
Delphi重定义消息结构随心所欲,只需要前4个字节是消息编号就行了,跟Windows消息虽然尽量保持一致,但其实相互没有特别大的关系.有了这个,就有了主动,带不带句柄完全看需要. 比如这个结构就带句 ...
- WM_PAINT在微软官方定义中,wParam和lParam都没有使用,所以就被Delphi给重定义了这个消息,还增加了DC(Delphi可任意改写消息的结构)
LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); Parameters wParam ...
- delphi处理消息的几种方式
第一种:自定义处理单条消息 unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, C ...
随机推荐
- ECShop后台管理菜单修改
ECShop中,和后台菜单相关的文件有两个: ·菜单项:admin\includes\inc_menu.php·菜单文本:languages\zh_cn\admin\common.php 所以,要修改 ...
- HTML5 Canvas 龟羊赛跑
从一张图上截取不同图块,动态显示在canvas上,形成赛跑的效果.完整代码图片下载请点击 https://files.cnblogs.com/files/xiandedanteng/turtleShe ...
- OpenCV2学习笔记(十五):利用Cmake高速查找OpenCV函数源代码
在使用OpenCV时,在对一个函数的调用不是非常了解的情况下,通常希望查到该函数的官方声明.而假设想进一步研究OpenCV的函数,则必须深入到源码. 在VS中我们能够选中想要查看的OpenCV函数,点 ...
- 关于Laravel5.2在php5.3.6X和在php7.1.10下的内存溢出
php5.3.6X是编译安装,在debug模式下,频繁报出内存泄露警告 php7.1.10下则不会有此错误. 顺便提下:测试发现ThinkPHP也不会有该内存泄露警告! 希望知道如何解决该问题的童鞋能 ...
- 苹果版小黄车(ofo)app主页菜单效果
代码地址如下:http://www.demodashi.com/demo/12823.html 前言: 最近又是公司项目上线一段时间了,又是到了程序汪整理代码的节奏了.刚好也用到了ofo主页菜单的效果 ...
- iOS项目开发之Socket编程
有一段时间没有认真总结和写博客了 前段时间找工作.进入工作阶段.比较少静下来认真总结,现在静下心来总结一下最近的一些心得 前言 AsyncSocket介绍 AsyncSocket详解 AsyncSoc ...
- Ctrl/Alt 快捷键
Ctrl+S 保存 Ctrl+W 关闭程序 Ctrl+N 新建文档 Ctrl+O 打开(选择打开其他文档) Ctrl+Z 撤销 Ctrl+F 查找 Ctrl+X 剪切 Ct ...
- 转 【MQTT】在Windows下搭建MQTT服务器
MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放.简单.轻量.易于实现.这些特点使它适用于受限环境.该协议的特点有: 使用发布/订阅消息模式,提供 ...
- 转MQTT--mosquitto服务器系统内容主题
MQTT客户端可以通过订阅位于$SYS层次下的主题来查看mosquitto服务器的状态信息.标记为Static的主题对于每一次订阅只发布一次.其它所有主题每隔sys_interval(在mosquit ...
- POJ1328 Radar Installation 【贪心·区间选点】
Radar Installation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 54593 Accepted: 12 ...