随笔分类 - DelphiVCL
摘要:技术交流,DH讲解. 在Sysutils.pas有几个函数,以前我也没有看见过,今天看源码的时候无意间发现了. 这个函数全称Get Delphi Access Licences,这个函数去读取资源里面的访问许可,如果不合法就抛出异常,如果合法就返回解密后的AL1。里面用到的两个函数: 紧接着下面有个函数用到GDAL了,也就是GDAL没有直接被用到: 函数RCS:检查是否有合法的Delphi ...
阅读全文
摘要:技术交流,DH讲解. 我之前用一个线程实现了Timer的功能,现在我们来看看Delphi自带的Timer怎么实现的? 其实,不看代码也大致知道怎么的? 1 SetTimer 和 KillTimer 2个API来控制Timer的启动和关闭 2 响应WM_Timer消息执行用户事件. 由于Timer是一个不可视控件,应该从TComponent继承,但是TComponent不具备处理消息的能力,也就是...
阅读全文
摘要:技术交流,DH讲解.TImage控件是我们用得比较多的一个控件了,那么它是怎么实现的呢? 当然它也不需要输入这些,所以它是从TGraphicControl继承下来,那么也就是只要在重载Paint方法,把图形画到画布上面就可以了. 好的我们来看看它的声明:个人习惯,我喜欢先看属性的Getter和Setter方法: 在前面的TShape控件中我们说到了,涉及到图形的属性修改后都要重绘一下.那么从上面看...
阅读全文
摘要:技术交流,DH讲解. 这个控件在Additional选项卡,位于ExtCtrls.pas中. 使用的样子: 这个控件应该就是一个图形控件,所以它应该直接从TGraphicControl继承下来,然后重载Paint方法就可以了,因为也没有其他好做的了. 我们看看源码吧. 我们看看设置属性的代码: 前面2个为什么没有Invalidate?是不是觉得我在忽悠你?嘿嘿,不慌,我们看看Create里面干了...
阅读全文
摘要:技术交流. 首先看可能取值:看效果.来点儿代码试一下:来弄个表格:原图CopyMode效果Blackness 用黑色填充目标矩形区域.Whiteness 用白色填充目标矩形区域DstInvert 将目标矩形图象进行反相MERGECOPY 将源矩形图象与指定的图案刷(Pattern)进行布尔"与"运算MERGEPAINT 将源矩形图形经过反相后,与目标矩形图象进行布尔"或"运算NOTSRCCO...
阅读全文
摘要:技术交流,DH讲解. 明天去坐火车,回家,今天就没有事做,本来在弄一个跨进程获取其他程序里面组件,如ListView,ListBox,Button等的信息,突然有个想法自己写个Timer,不用SetTimer函数,我们自己用个多线程也正好实现这个.反正前段时间多线程也弄得比较多,本来想单独讲讲的,现在就用个例子来说明吧.写成一个控件:utTimer.pasunit utTimer;interfac...
阅读全文
摘要:技术交流,DH讲解. IOComp是一套用于工业的图形化控件. 看下怎么在D2010下面安装吧.首先下载地址,来之 盒子,Download Here 解压缩后,需要做的步骤:1 添加lib pathTools –> Options –> Delphi Options 将你的解压缩目录添加进来.2 删除相关PNG单元.因为2010中自带PNGImage单元了,而且这个目录下面的PNG单...
阅读全文
摘要:技术交流,DH讲解. 今天来实现一个简单的五子棋,直接用GDI来画的一个游戏.首先我们来想下怎么存放数据,哪些地方是白棋,哪些地方是黑棋,哪些地方没有下棋?对,我们用一个二维数组,如果数组中某一个位置的值为0代表没有下棋,为1代表是白棋,为2代表是黑棋.好就这么说定了,为了使用方便,我们打算做成一个控件,因为要画界面所以我们从TGraphicControl继承下来.看一下类定义的代码:Type ...
阅读全文
摘要:看CxGrid资料的时候,看见了一个为兄弟的文章,我就转一下了. //需要Use CommCtrlFunction GetSubItemRect( handle, ItemsIndex, SubIndex: Integer ): TRect ;BeginListView_GetSubItemRect( Handle, ItemsIndex, SubIndex, 0, @Result ) ;End ...
阅读全文
摘要:技术交流,DH讲解.之前一篇文章已经讲过对象构造的过程,但是我们那个对象无任何东西,这里我们在已有的基础上面加点儿东西再来看看.代码改成: THuangJacky = class private FName:string; public procedure SayMyName(); constructor Create(); end;var Form3: TForm3;implement...
阅读全文
摘要:自己用上了D2010,然后心中一直想着一句话就是Borland的编译器比其他的都要好很多,虽然现在Delphi已经易主了.我们现在一天都在说面向对象,但是我们知道对象在内存都是一堆数据而已,那么Delphi编译器是怎么来管理这些数据的呢?抱着这样的态度,我用简单的代码进行了一些测试,当然技术有限,有所错误,希望朋友指出来不要喷我.本文首发http://huangjacky.cnblogs.com/...
阅读全文