哪位大虾能分析下delphi的事件处理过程 比如为什么我们点击按钮,就会执行按钮的onclick事件?这个事件是怎么和我们自己的代码关联起来的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不厉害,可以给你中肯的介绍http://wenku.baidu.com/view/dff5a44769eae009581becff.html 值得推荐的是李维的哪本《Inside VCL》书,理解有详细的介绍。 点击按钮,就会执行delphi预设的执行函数,它的代码是:先判断有没有开发者的事件函数,有则执行该事件函数所以,你写的按钮的onclick事件就被执行了 要了解这个,先了解window事件驱动机制(消息),若不了解这个,跟你讲了,你未必理解。 确实是需要先学windows的消息机制,windows的消息是有操作系统来负责分发的,而delphi的vcl库只不过是对消息处理函数的一个高层次的封装而已。 当点击Button时,会向Button发送两个消息,WM_LBUTTONDOWN和WM_LBUTTONUP,消息WM_LBUTTONUP在TControl类中被处理,消息处理函数会调用Click动态方法,Click方法调用事件处理函数onClick或对应Action的onExecute事件处理方法。介绍Windows消息机制的资料很多 ,跟Delphi相关的就只有李维的《Inside VCL》 其实也可以看看CP的《Windows程序设计》第五版,那个对消息机制有比较详细的讲解 这个问题应该这样描述更准确:哪位大虾能分析下DELPHI是怎么封装Windows消息的,答案是李维的《Inside VCL》。 这个问题我以前回答过别人,这次整理到博客中,有空你看看吧,呵呵VCL控件对消息机制的封装 排版比较乱,呵呵 delphi xe2 IdHTTP1出现乱码,怎么解决? 请求W IN98设置问题.高分. 关于access数据库日期时间问题. 请问北京的delphi高手 请教大家一个问题 !急 ! 在线等。。。。 简单问题,急! 如何查询如此条件下的数据集? 如何用do while/for把一个数据库的全部记录打印出来(不用快整报表) 怎样用ADO创建Access数据库文件,怎样用ADO获得数据库中所有表的名称和字段信息?? 急人。。。在delphi 6.0 中如何用query 控件调用一个oracle 8i 的存储过程. delphi 子类和父类方法有重复 delphi7十六进制指针问题
http://wenku.baidu.com/view/dff5a44769eae009581becff.html
先判断有没有开发者的事件函数,有则执行该事件函数所以,你写的按钮的onclick事件就被执行了
介绍Windows消息机制的资料很多 ,跟Delphi相关的就只有李维的《Inside VCL》