高手们的文章有很大启发,但是总有些小错,也有没交代清楚的,以下是我的理解:编译器编译MainWndProc的时候,它是一个正常Delphi普通函数,MakeObjectInstance对它做变换是运行期的事情, 它有两个参数的:SELF,TMESSAGE,编译的时候仍然... Read More
posted @ 2014-11-19 20:38 findumars Views(753) Comments(0) Diggs(0)
第一步,准备工作:预定义一个全局Win控件变量,以及一个精简化的Win控件类var CreationControl: TWinControl = nil; // 定义全局变量,用来表示每次刚创建的Win控件 TWinControl = class(TControl) private FDefWndP Read More
posted @ 2014-11-19 20:27 findumars Views(3104) Comments(0) Diggs(0)
Java的Reference感觉很象C++的指针,但是区别是本质的他们相同之处在于都是含有一个地址,但是在Java中你无法对这个地址进行任何数学运算,并且这个地址你不知道,是Java Runtime分配给你的,它随时还要调整这个地址(After GC,Memory要Compact,这时候一个Obje... Read More
posted @ 2014-11-18 21:19 findumars Views(805) Comments(0) Diggs(0)
最主要是取得了桌面的DC,并且设置为背景色透明:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type ... Read More
posted @ 2014-11-17 19:29 findumars Views(977) Comments(0) Diggs(0)
之所以要用类函数代替API,是因为VCL对它做了一些包装,好在API起作用之前和之后做一些额外的事情:通知和判断等等。之所以类函数要包装一个CM_消息,是因为这样方便程序员(在调用类函数的基础上)截断和改写这个处理过程举例:procedure TWinControl.Invalidate;begin... Read More
posted @ 2014-11-17 00:08 findumars Views(525) Comments(0) Diggs(0)