Delphi Application.Run语句
来源:互联网 发布:数控编程切削量设置 编辑:程序博客网 时间:2024/05/16 08:03
Application.Run,它的作用是启动消息循环,然后调Application.ProcessMessage,该函数会在应用程序的消息队列中查找一条消息。当在消息队列中检索到一条消息后,触发Application.OnMessage事件。这样在Windows本身对消息处理之前,就会响应OnMessage事件的处理过程,它优于任何消息处理,而且只接收登记的消息,即前面所述的由PostMessage发送的消息。响应Application.OnMessage事件的处理过程必须是TmessageEvent类型,其声明如下: type TMessageEvent = procedure (var Msg: TMsg; var Handled: Boolean) of object; 其中TMsg是Windows中定义的消息记录,我们可以这样声明: Procedure OnMyMessage(var Msg:TMsg;var Handled:Boolean); 然后把此方法赋给Application.OnMessage事件: Application.OnMessage :=OnMyMessage; OnMessage事件将捕获发送给应用程序的所有消息,这是一个非常繁忙的事件,因此在处理OnMessage事件的处理过程中设置断点进行消息处理是不明智的。 VCL对象用于接收消息的方法叫MainWndProc。它是定义在Twincontrol类中的静态方法,不能被重载。它不直接处理消息,当消息离开MainWndProc后,消息被传递给对象的WndProc方法,WndProc方法是在Tcontrol类中定义的一个虚拟方法,由它调用Dispatch方法。Dispatch根据传入的Message来寻找相应的处理方法,如果最后找不到,就继续向上到父类中寻找消息处理方法,一直到找到为止,如果找不到则调用Defaulthandler。 Defaulthandler方法对消息进行最后的处理,然后把消息传递给Windows的DefWindowProc函数或其他默认的窗口过程。
- Delphi Application.Run语句
- Run application
- linux run java application
- Application.Run 方法
- Run a simple application
- frm.Show();Application.Run
- delphi语句
- CSharp-基本原理-Application.Run()、Application.Run()、Form.ShowDialog()
- run as server和run as run java application
- run as server和run as run java application
- Run shell application in ruby
- android右键没有Run Application
- Run Android Application on device
- mac hadoop install & run application
- run as android application过程
- run as android application过程
- Application的run方法分析
- Delphi 的Application
- 如何替换exe程序中的某个文件?
- android系统ContentProvider——联系人
- 业余研究:关于腾讯与他的QQ帝国
- Boost.Asio和ACE之间关于Socket编程的比较
- Linux I/O多路复用之select,poll与epoll区别
- Delphi Application.Run语句
- 数据库回顾之-----触发器
- 重新编译Google的Flexlib组件库生成SWC
- 关键链项目管理汇总贴
- 无线局域网(WLAN)系统中身份认证中ikey1000的具体应用
- /usr/local/apache2/modules/libphp5.so cannot restore segment prot after reloc: Permission denied
- Windows 常用命令
- 更深入的TOMCAT中文乱码解决之道,包括GET/POST(转)
- solaris 常用命令总结之硬件系统