delphi 的消息机制浅探

delphi 的消息机制浅探

ID:14323672

大小:87.00 KB

页数:34页

时间:2018-07-27

delphi 的消息机制浅探_第1页
delphi 的消息机制浅探_第2页
delphi 的消息机制浅探_第3页
delphi 的消息机制浅探_第4页
delphi 的消息机制浅探_第5页
资源描述:

《delphi 的消息机制浅探》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Delphi的消息机制浅探Delphi的消息机制浅探savetime2k@yahoo.com2004.1.9我从去年12月上旬开始等待李维的《InsideVCL》。我当时的计划是,在这本书的指导下深入学习Delphi。到了12月底,书还没有出来,我不愿再等,开始阅读VCL源代码。在读完TObject、TPersistant和TComponent的代码之后,我发现还是不清楚Delphi对象到底是怎样被创建的。于是我查看Delphi生成的汇编代码,终于理解了对象创建的整个过程(这里要特别感谢book523的帮助)。此后我就开始学习DelphiVCL的消息处理机制。自从我写下《Delphi的

2、对象机制浅探》,至今正好一个星期,我也基本上把DelphiVCL的消息处理框架读完了。我的学习方法就是阅读源代码,一开始比较艰苦,后来线索逐渐清晰起来。在此把自己对DelphiVCL消息机制的理解记录下来,便于今后的复习,也给初学Delphi或没有时间阅读VCL源代码的朋友参考(毕竟没有几个程序员像我这样有时间:)。由于学习时间较短,一定会有错误,请大家指正。我在分析VCL消息机制的过程中,基本上只考查了三个类TObject、TControl和TWinControl。虽然我没有阅读上层类(如TForm)的代码,但我认为这些都是实现的细节。我相信VCL消息系统中最关键的东西都在这三个类中

3、。纲举而目张,掌握基础类的消息处理方法之后再读其他类的消息处理过程就容易得多了。要想读懂本文,最低配置为:了解Win32消息循环和窗口过程基本了解TObject、TControl和TWinControl实现的内容熟悉Delphi对象的重载与多态推荐配置为:熟悉Win32SDK编程熟悉Delphi的对象机制熟悉Delphi内嵌汇编语言推荐阅读:《Delphi的原子世界》http://www.codelphi.com/《VCL窗口函数注册机制研究手记,兼与MFC比较》http://www.delphibbs.com/delphibbs/dispq.asp?lid=584889《Delphi

4、的对象机制浅探》http://www.delphibbs.com/delphibbs/dispq.asp?LID=2390131本文排版格式为:正文由窗口自动换行;所有代码以80字符为边界;中英文字符以空格符分隔。(作者保留对本文的所有权利,未经作者同意请勿在在任何公共媒体转载。)目录===============================================================================⊙一个GUIApplication的执行过程:消息循环的建立⊙TWinControl.Create、注册窗口过程和创建窗口⊙补充知识:TWndMet

5、hod概述⊙VCL的消息处理从TWinControl.MainWndProc开始⊙TWinControl.WndProc⊙TControl.WndProc⊙TObject.Dispatch⊙TWinControl.DefaultHandler⊙TControl.Perform和TWinControl.Broadcast⊙TWinControl.WMPaint⊙以TWinControl为例描述消息传递的路径===============================================================================正文===========

6、====================================================================⊙一个GUIApplication的执行过程:消息循环的建立===============================================================================通常一个Win32GUI应用程序是围绕着消息循环的处理而运行的。在一个标准的C语言Win32GUI程序中,主程序段都会出现以下代码:while(GetMessage(&msg,NULL,0,0))//GetMessage第二个参数为NUL

7、L,//表示接收所有应用程序产生的窗口消息{TranslateMessage(&msg);//转换消息中的字符集DispatchMessage(&msg);//把msg参数传递给lpfnWndProc}lpfnWndProc是Win32API定义的回调函数的地址,其原型如下:int__stdcallWndProc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam);Windows回调函数(callbackf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。