Delphi里的Windows消息(可查MSDN指定位置)
各种控件的通知消码和控制消息可由
MSDN-> Platform SDK-> User Interface Services->Windows User Interface->Controls 查得。
Delphi里的Windows消息(一共227个基本消息)
WM_NULL = $;
WM_CREATE = $;
WM_DESTROY = $;
WM_MOVE = $;
WM_SIZE = $;
WM_ACTIVATE = $;
WM_SETFOCUS = $;
WM_KILLFOCUS = $;
WM_ENABLE = $000A;
WM_SETREDRAW = $000B;
WM_SETTEXT = $000C;
WM_GETTEXT = $000D;
WM_GETTEXTLENGTH = $000E;
WM_PAINT = $000F;
WM_CLOSE = $;
WM_QUERYENDSESSION = $;
WM_QUIT = $0012;
WM_QUERYOPEN = $;
WM_ERASEBKGND = $0014;
WM_SYSCOLORCHANGE = $;
WM_ENDSESSION = $0016;
WM_SYSTEMERROR = $;
WM_SHOWWINDOW = $0018;
WM_CTLCOLOR = $0019;
WM_WININICHANGE = $001A;
WM_SETTINGCHANGE = WM_WININICHANGE;
WM_DEVMODECHANGE = $001B;
WM_ACTIVATEAPP = $001C;
WM_FONTCHANGE = $001D;
WM_TIMECHANGE = $001E;
WM_CANCELMODE = $001F;
WM_SETCURSOR = $;
WM_MOUSEACTIVATE = $0021;
WM_CHILDACTIVATE = $0022;
WM_QUEUESYNC = $;
WM_GETMINMAXINFO = $;
WM_PAINTICON = $;
WM_ICONERASEBKGND = $;
WM_NEXTDLGCTL = $0028;
WM_SPOOLERSTATUS = $002A;
WM_DRAWITEM = $002B;
WM_MEASUREITEM = $002C;
WM_DELETEITEM = $002D;
WM_VKEYTOITEM = $002E;
WM_CHARTOITEM = $002F;
WM_SETFONT = $0030;
WM_GETFONT = $;
WM_SETHOTKEY = $;
WM_GETHOTKEY = $;
WM_QUERYDRAGICON = $;
WM_COMPAREITEM = $;
WM_GETOBJECT = $003D;
WM_COMPACTING = $;
WM_WINDOWPOSCHANGING = $;
WM_WINDOWPOSCHANGED = $0047;
WM_POWER = $;
WM_COPYDATA = $004A;
WM_CANCELJOURNAL = $004B;
WM_NOTIFY = $004E;
WM_INPUTLANGCHANGEREQUEST = $;
WM_INPUTLANGCHANGE = $;
WM_TCARD = $;
WM_HELP = $;
WM_USERCHANGED = $;
WM_NOTIFYFORMAT = $;
WM_CONTEXTMENU = $007B;
WM_STYLECHANGING = $007C;
WM_STYLECHANGED = $007D;
WM_DISPLAYCHANGE = $007E;
WM_GETICON = $007F;
WM_SETICON = $;
WM_NCCREATE = $0081;
WM_NCDESTROY = $0082;
WM_NCCALCSIZE = $;
WM_NCHITTEST = $0084;
WM_NCPAINT = $0085;
WM_NCACTIVATE = $0086;
WM_GETDLGCODE = $0087;
WM_NCMOUSEMOVE = $00A0;
WM_NCLBUTTONDOWN = $00A1;
WM_NCLBUTTONUP = $00A2;
WM_NCLBUTTONDBLCLK = $00A3;
WM_NCRBUTTONDOWN = $00A4;
WM_NCRBUTTONUP = $00A5;
WM_NCRBUTTONDBLCLK = $00A6;
WM_NCMBUTTONDOWN = $00A7;
WM_NCMBUTTONUP = $00A8;
WM_NCMBUTTONDBLCLK = $00A9;
WM_NCXBUTTONDOWN = $00AB;
WM_NCXBUTTONUP = $00AC;
WM_NCXBUTTONDBLCLK = $00AD;
WM_INPUT = $00FF;
WM_KEYFIRST = $;
WM_KEYDOWN = $;
WM_KEYUP = $;
WM_CHAR = $0102;
WM_DEADCHAR = $0103;
WM_SYSKEYDOWN = $;
WM_SYSKEYUP = $;
WM_SYSCHAR = $0106;
WM_SYSDEADCHAR = $;
WM_KEYLAST = $;
WM_INITDIALOG = $0110;
WM_COMMAND = $0111;
WM_SYSCOMMAND = $0112;
WM_TIMER = $0113;
WM_HSCROLL = $;
WM_VSCROLL = $; WM_INITMENU = $;
WM_INITMENUPOPUP = $;
WM_MENUSELECT = $011F;
WM_MENUCHAR = $;
WM_ENTERIDLE = $;
WM_MENURBUTTONUP = $;
WM_MENUDRAG = $;
WM_MENUGETOBJECT = $;
WM_UNINITMENUPOPUP = $;
WM_MENUCOMMAND = $0126;
WM_CHANGEUISTATE = $;
WM_UPDATEUISTATE = $;
WM_QUERYUISTATE = $; WM_CTLCOLORMSGBOX = $;
WM_CTLCOLOREDIT = $;
WM_CTLCOLORLISTBOX = $;
WM_CTLCOLORBTN = $;
WM_CTLCOLORDLG = $;
WM_CTLCOLORSCROLLBAR= $;
WM_CTLCOLORSTATIC = $; WM_MOUSEFIRST = $;
WM_MOUSEMOVE = $;
WM_LBUTTONDOWN = $;
WM_LBUTTONUP = $;
WM_LBUTTONDBLCLK = $;
WM_RBUTTONDOWN = $;
WM_RBUTTONUP = $;
WM_RBUTTONDBLCLK = $;
WM_MBUTTONDOWN = $;
WM_MBUTTONUP = $;
WM_MBUTTONDBLCLK = $;
WM_MOUSEWHEEL = $020A;
WM_MOUSELAST = $020A; WM_PARENTNOTIFY = $;
WM_ENTERMENULOOP = $;
WM_EXITMENULOOP = $;
WM_NEXTMENU = $; WM_SIZING = ;
WM_CAPTURECHANGED = ;
WM_MOVING = ;
WM_POWERBROADCAST = ;
WM_DEVICECHANGE = 537; WM_IME_STARTCOMPOSITION = $010D;
WM_IME_ENDCOMPOSITION = $010E;
WM_IME_COMPOSITION = $010F;
WM_IME_KEYLAST = $010F;
WM_IME_SETCONTEXT = $;
WM_IME_NOTIFY = $;
WM_IME_CONTROL = $;
WM_IME_COMPOSITIONFULL = $;
WM_IME_SELECT = $;
WM_IME_CHAR = $;
WM_IME_REQUEST = $;
WM_IME_KEYDOWN = $;
WM_IME_KEYUP = $; WM_MDICREATE = $;
WM_MDIDESTROY = $;
WM_MDIACTIVATE = $;
WM_MDIRESTORE = $;
WM_MDINEXT = $;
WM_MDIMAXIMIZE = $;
WM_MDITILE = $;
WM_MDICASCADE = $;
WM_MDIICONARRANGE = $;
WM_MDIGETACTIVE = $;
WM_MDISETMENU = $; WM_ENTERSIZEMOVE = $;
WM_EXITSIZEMOVE = $;
WM_DROPFILES = $;
WM_MDIREFRESHMENU = $; WM_MOUSEHOVER = $02A1;
WM_MOUSELEAVE = $02A3;
WM_NCMOUSEHOVER = $02A0;
WM_NCMOUSELEAVE = $02A2;
WM_WTSSESSION_CHANGE = $02B1; WM_TABLET_FIRST = $02C0;
WM_TABLET_LAST = $02DF; WM_CUT = $0300;
WM_COPY = $0301;
WM_PASTE = $0302;
WM_CLEAR = $0303;
WM_UNDO = $0304;
WM_RENDERFORMAT = $;
WM_RENDERALLFORMATS = $;
WM_DESTROYCLIPBOARD = $;
WM_DRAWCLIPBOARD = $;
WM_PAINTCLIPBOARD = $;
WM_VSCROLLCLIPBOARD = $030A;
WM_SIZECLIPBOARD = $030B;
WM_ASKCBFORMATNAME = $030C;
WM_CHANGECBCHAIN = $030D;
WM_HSCROLLCLIPBOARD = $030E;
WM_QUERYNEWPALETTE = $030F;
WM_PALETTEISCHANGING= $;
WM_PALETTECHANGED = $;
WM_HOTKEY = $;
WM_PRINT = 791;
WM_PRINTCLIENT = 792;
WM_APPCOMMAND = $0319;
WM_THEMECHANGED = $031A; WM_HANDHELDFIRST = ;
WM_HANDHELDLAST = ; WM_PENWINFIRST = $;
WM_PENWINLAST = $038F; WM_COALESCE_FIRST = $;
WM_COALESCE_LAST = $039F; WM_DDE_FIRST = $03E0;
WM_DDE_INITIATE = WM_DDE_FIRST + ;
WM_DDE_TERMINATE = WM_DDE_FIRST + ;
WM_DDE_ADVISE = WM_DDE_FIRST + ;
WM_DDE_UNADVISE = WM_DDE_FIRST + ;
WM_DDE_ACK = WM_DDE_FIRST + ;
WM_DDE_DATA = WM_DDE_FIRST + ;
WM_DDE_REQUEST = WM_DDE_FIRST + ;
WM_DDE_POKE = WM_DDE_FIRST + ;
WM_DDE_EXECUTE = WM_DDE_FIRST + ;
WM_DDE_LAST = WM_DDE_FIRST + ; WM_APP = $;
WM_USER = $0400;
WM_NULL---0X0000:表示无操作,在消息映射中,如果应用程序试图使接收器对其投递的消息实行忽略处理,则发送WM_NULL类型消息,如果窗体的消息处理函数WindowProc接收到WM_NULL类型消息,则忽略掉。
0X0001----0X0087:窗口消息,例如WM_SIZE、WM_PAINT、WM_ERASEBKGND等。
0X00A0----0X00A9:非客户区消息,例如WM_NCMOUSEMOVE、WM_NCLBUTTONDBLCLK、WM_NCRBUTTONUP等。
0X0100----0X0108:键盘消息,例如WM_KEYDOWN、WM_KEYFIRST、WM_CHAR、WM_SYSCHAR等。
0X0111----0X0112:菜单命令,例如WM_COMMAND、WM_SYSCOMMAND。0X0132----0x0132----0x0138:颜色控制消息,例如WM_CTLCOLORMSGBOX、WM_CTLCOLORLISTBOX、WM_CTLCOLORDLG等。
0X0200----0X020A:鼠标消息,例如WM_LBUTTONUP、WM_RBUTTONUP等。
0X0211----0X0213:菜单循环消息,例如WM_ENTERMENULOOP、WM_EXITMENULOOP等。
0X0220----0X0230:多文档消息,例如WM_MDICREATE、WM_MDIDESTROY等。
0X03E0----0X03E8:DDE消息,例如WM_PASTE、WM_CLEAR、WM_UNDO等。
0X0400:用户自定义消息的起点,WM_USER,以WM_USER + N形式出现。
0X8000:用户自定义消息的起点,WM_APP,以WM_APP + N形式出现。附属控件的专用消息
参考:
http://blog.csdn.net/mengde666/article/details/4036398
BN_CLICKED = ;
BN_PAINT = ;
BN_HILITE = ;
BN_UNHILITE = ;
BN_DISABLE = ;
BN_DOUBLECLICKED = ;
BN_PUSHED = BN_HILITE;
BN_UNPUSHED = BN_UNHILITE;
BN_DBLCLK = BN_DOUBLECLICKED;
BN_SETFOCUS = ;
BN_KILLFOCUS = ; BM_GETCHECK = $00F0;
BM_SETCHECK = $00F1;
BM_GETSTATE = $00F2;
BM_SETSTATE = $00F3;
BM_SETSTYLE = $00F4;
BM_CLICK = $00F5;
BM_GETIMAGE = $00F6;
BM_SETIMAGE = $00F7; LBN_ERRSPACE = (-);
LBN_SELCHANGE = ;
LBN_DBLCLK = ;
LBN_SELCANCEL = ;
LBN_SETFOCUS = ;
LBN_KILLFOCUS = ; LB_ADDSTRING = $;
LB_INSERTSTRING = $;
LB_DELETESTRING = $;
LB_SELITEMRANGEEX = $;
LB_RESETCONTENT = $;
LB_SETSEL = $;
LB_SETCURSEL = $;
LB_GETSEL = $;
LB_GETCURSEL = $;
LB_GETTEXT = $;
LB_GETTEXTLEN = $018A;
LB_GETCOUNT = $018B;
LB_SELECTSTRING = $018C;
LB_DIR = $018D;
LB_GETTOPINDEX = $018E;
LB_FINDSTRING = $018F;
LB_GETSELCOUNT = $;
LB_GETSELITEMS = $;
LB_SETTABSTOPS = $;
LB_GETHORIZONTALEXTENT = $;
LB_SETHORIZONTALEXTENT = $;
LB_SETCOLUMNWIDTH = $;
LB_ADDFILE = $;
LB_SETTOPINDEX = $;
LB_GETITEMRECT = $;
LB_GETITEMDATA = $;
LB_SETITEMDATA = $019A;
LB_SELITEMRANGE = $019B;
LB_SETANCHORINDEX = $019C;
LB_GETANCHORINDEX = $019D;
LB_SETCARETINDEX = $019E;
LB_GETCARETINDEX = $019F;
LB_SETITEMHEIGHT = $01A0;
LB_GETITEMHEIGHT = $01A1;
LB_FINDSTRINGEXACT = $01A2;
LB_SETLOCALE = $01A5;
LB_GETLOCALE = $01A6;
LB_SETCOUNT = $01A7;
LB_INITSTORAGE = $01A8;
LB_ITEMFROMPOINT = $01A9;
LB_MSGMAX = ; CBN_ERRSPACE = (-);
CBN_SELCHANGE = ;
CBN_DBLCLK = ;
CBN_SETFOCUS = ;
CBN_KILLFOCUS = ;
CBN_EDITCHANGE = ;
CBN_EDITUPDATE = ;
CBN_DROPDOWN = ;
CBN_CLOSEUP = ;
CBN_SELENDOK = ;
CBN_SELENDCANCEL = ; CB_GETEDITSEL = $;
CB_LIMITTEXT = $;
CB_SETEDITSEL = $;
CB_ADDSTRING = $;
CB_DELETESTRING = $;
CB_DIR = $;
CB_GETCOUNT = $;
CB_GETCURSEL = $;
CB_GETLBTEXT = $;
CB_GETLBTEXTLEN = $;
CB_INSERTSTRING = $014A;
CB_RESETCONTENT = $014B;
CB_FINDSTRING = $014C;
CB_SELECTSTRING = $014D;
CB_SETCURSEL = $014E;
CB_SHOWDROPDOWN = $014F;
CB_GETITEMDATA = $;
CB_SETITEMDATA = $;
CB_GETDROPPEDCONTROLRECT = $;
CB_SETITEMHEIGHT = $;
CB_GETITEMHEIGHT = $;
CB_SETEXTENDEDUI = $;
CB_GETEXTENDEDUI = $;
CB_GETDROPPEDSTATE = $;
CB_FINDSTRINGEXACT = $;
CB_SETLOCALE = ;
CB_GETLOCALE = ;
CB_GETTOPINDEX = ;
CB_SETTOPINDEX = ;
CB_GETHORIZONTALEXTENT = ;
CB_SETHORIZONTALEXTENT = ;
CB_GETDROPPEDWIDTH = ;
CB_SETDROPPEDWIDTH = ;
CB_INITSTORAGE = ;
CB_MSGMAX = ; EN_SETFOCUS = $;
EN_KILLFOCUS = $;
EN_CHANGE = $;
EN_UPDATE = $;
EN_ERRSPACE = $;
EN_MAXTEXT = $;
EN_HSCROLL = $;
EN_VSCROLL = $; EM_GETSEL = $00B0;
EM_SETSEL = $00B1;
EM_GETRECT = $00B2;
EM_SETRECT = $00B3;
EM_SETRECTNP = $00B4;
EM_SCROLL = $00B5;
EM_LINESCROLL = $00B6;
EM_SCROLLCARET = $00B7;
EM_GETMODIFY = $00B8;
EM_SETMODIFY = $00B9;
EM_GETLINECOUNT = $00BA;
EM_LINEINDEX = $00BB;
EM_SETHANDLE = $00BC;
EM_GETHANDLE = $00BD;
EM_GETTHUMB = $00BE;
EM_LINELENGTH = $00C1;
EM_REPLACESEL = $00C2;
EM_GETLINE = $00C4;
EM_LIMITTEXT = $00C5;
EM_CANUNDO = $00C6;
EM_UNDO = $00C7;
EM_FMTLINES = $00C8;
EM_LINEFROMCHAR = $00C9;
EM_SETTABSTOPS = $00CB;
EM_SETPASSWORDCHAR = $00CC;
EM_EMPTYUNDOBUFFER = $00CD;
EM_GETFIRSTVISIBLELINE = $00CE;
EM_SETREADONLY = $00CF;
EM_SETWORDBREAKPROC = $00D0;
EM_GETWORDBREAKPROC = $00D1;
EM_GETPASSWORDCHAR = $00D2;
EM_SETMARGINS = ;
EM_GETMARGINS = ;
EM_SETLIMITTEXT = EM_LIMITTEXT; //win40 Name change
EM_GETLIMITTEXT = ;
EM_POSFROMCHAR = ;
EM_CHARFROMPOS = ;
EM_SETIMESTATUS = ;
EM_GETIMESTATUS = ; SBM_SETSCROLLINFO = ;
SBM_GETSCROLLINFO = ; DM_GETDEFID = (WM_USER+);
DM_SETDEFID = (WM_USER+);
DM_REPOSITION = (WM_USER+); PSM_PAGEINFO = (WM_USER+);
PSM_SHEETINFO = (WM_USER+);
// 消息定义
用户自定义的消息, 对于其范围有如下规定:
WM_USER: 0x0400-0x7FFF (ex. WM_USER+10)
WM_APP(winver> 4.0): 0x8000-0xBFFF (ex.WM_APP+4)
RegisterWindowMessage: 0xC000-0xFFFF
Delphi里的Windows消息(可查MSDN指定位置)的更多相关文章
- windows消息值全部定义,从消息值得到消息名称(系统消息定义从0到1023,从1024开始就是WM_USER,但是中间有325个WM_undefined消息,估计是备用,另外各控件都有一些reserved消息,也是为了备用)LostSpeed
前言 在逆向算法扫描插件时, 遇到一个windows消息值在msdn中没有定义. 去查资料, 有个老外将全部windows消息值和消息名称定义都码好了:) 写个测试程序, 封装了一个接口, 从消息值得 ...
- Windows Vista下UIPI和Windows消息的故事(UIPI默认情况下会禁止所有高于WM_USER的消息)
一. 什么是UIPI UIPI指User Interface Privilege Isolation(用户界面特权隔离),是Windows Vista 新引入的一种安全特性.用于拦截接收比自身进程MI ...
- 深入Delphi -- Windows 消息机制
http://www.txsz.net/xs/delphi/3/Windows%20%E6%B6%88%E6%81%AF%E6%9C%BA%E5%88%B6.htm Windows 消息机制 by m ...
- 终于懂了:Delphi消息的Result完全是生造出来的,不是Windows消息自带的(Delphi对Windows编程体系的改造越大,学习收获就越大)——消息是否继续传递就看这个Result
Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型, 而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数据的含义也不一样. t ...
- Windows消息拦截技术的应用(作者博客里有许多相关文章)
民航合肥空管中心 周毅 一.前 言 众所周知,Windows程式的运行是依靠发生的事件来驱动.换句话说,程式不断等待一个消息的发生,然后对这个消息的类型进行判断,再做适当的处理.处理完此次消息后又回到 ...
- 深入delphi编程理解之消息(一)WINDOWS原生窗口编写及消息处理过程
通过以sdk方式编制windows窗口程序,对理解windows消息驱动机制和delphi消息编程有很大的帮助. sdk编制windows窗口程序的步骤: 1.对TWndClass对象进行赋值; 2. ...
- windows消息钩子注册底层机制浅析
标 题: [原创]消息钩子注册浅析 作 者: RootSuLe 时 间: 2011-06-18,23:10:34 链 接: http://bbs.pediy.com/showthread.php?t= ...
- 【转】windows消息和消息队列详解
转载出处:http://blog.csdn.net/bichenggui/article/details/4677494 windows消息和消息队列 与基于MS - DOS的应用程序不同,Wind ...
- windows消息和消息队列
windows消息和消息队列 转自:http://blog.163.com/zhangjie_0303/blog/static/990827062010113062446767/ 与基于MS - DO ...
随机推荐
- unity, iOS集成微信
将微信sdk直接拖进xcode会导致Library Search Paths是错的,需要手动改成如下样子(蓝色选中部分)才能通过编译:
- Arthas安装问题
1. 下载安装 方式一: 安装Arthas: curl -L https://alibaba.github.io/arthas/install.sh | sh 启动Arthas: ./as.sh 报t ...
- [ci]项目规划-后续
几个方面来写 1,搭建gitlab 配邮箱 域名等使之好用 2,搭建jenkins –yum,安装常见插件 3,搭建sonar,汉化 4,安装sonar-scanner 0,实现sonar ...
- Mysql又一次整理笔记--woods备忘
==============================SQL备忘 CRUD 查询 多表 事件等=============================== ------------------ ...
- UI-1-UI入门
课程要点: 创建一个iOS工程 AppDelegate类 UIKit框架以及UIWindow 在window上添加第一个试图UIView NSTimer(定时器) 创建一个iOS工程 PS:接下来简单 ...
- Extjs中获取getEl获取undefined的问题
一定注意: getEl()方法只有在panel.show()之后才会有值.在hide()的时候没有该对象. 也就是说如果要操作Ext.dom.Element对象必须让对象先显示出来.
- C#网络编程系列文章(五)之Socket实现异步UDPserver
原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列文件夹 C#网络编程 ...
- redis中毒
黑客用我们服务器挖矿了 新的一天的开始 周五早上刚到公司,同事来问我系统为啥打不开了?我第一反应就是肯定 Nginx 服务器挂了呗,立马就去登录服务器看看,但此时发现已经完全远程登录不上这台部署了 N ...
- 【Mac系统 + Python + Django】之开发一个发布会系统【Django模型(三)】
上一部分给大家介绍Django的视图. 接下来继续来了解Django框架,来看第三部分,此部分是对数据库的操作. 目录: 一.设计系统表 二.admin后台管理 三.基本数据访问(SQLite数据库) ...
- JS判断不同的浏览器,不同的浏览器版本
JS判断不同的浏览器,不同的浏览器版本