Delphi组件编辑器】的更多相关文章

看到Dev中的cxGrid组件的编辑器很强大,于是很想探究一下,跟踪cxGrid的代码比较麻烦,但原理大概知道一二.首先来研究一下设计器双击cxGrid弹出一个编辑窗体,选择窗体中的一个内容后,属性编辑器中的内容也随着变化.有了这个特性,对于控件中的一些复杂成员(继承于TPersistent类),如果需要对其进行设置,可以简化为在属性编辑器中进行.cxGrid的代码过于复杂,看看同样效果的标准控件TDataSet控件的字段编辑器的实现吧. 在Delphi的源码中找到DBReg单元,可以看到其注册…
delphi 组件容器TObjectList代替List TObjectList objList->delete(0); 这个会释放第0行元素的对象 class TTabFormInfo { public: int a; String s1; String s2; TForm *frm; }; 如果是这样的对象,删除的时候frm指针所指的对象也要删除,frm指针为空就不删除,不为NULL就删除. 所以不想删除frm指针的对象,就不用TObjectList. 但是如果仅仅是简单类型或frm是自己n…
用Delphi开发的时间也不短了!刚接触Delphi的时候,就觉得组件这个东西非常方便!根本不必知道组件内部的作为,只要使用就好了!然而用的多了,也不免会对各种delphi组件的内部实现方式产生兴趣!也不知道从什么时候开始,开始开发delphi的控件,这也得归功于我所在的公司了,由于老板的信任,我得以开发各种公司内部需要的控件,期间也积累了一部分的开发经验.在这个Delphi日渐凋零的时刻,于是我在心里便想,用了这么长时间的Delphi,也用来混了好几年的饭钱了,同时也不断的在网络上汲取了各种各…
当一个组件的dpk文件数量较多且安装工具不顺手的时候,写一个属于自己的组件安装工具就很有必要了. 本例以 Dev Express 16.1.2 为例,设计一个组件安装工具,以便更深入理解 delphi 组件规则. 结合笔者提供的其它组件安装教程,想必大家是可以彻底掌握“组件安装”这个知识点了. 不写正确的废话,教程从实际中来,到实际中去,让大家慢慢攻克 delphi 部分知识点. 提供源码,直接 F9 可以运行,是我一惯的风格.请大家多多支持. Dev Express 16.1.2 组件包下截…
https://blog.csdn.net/ozhy111/article/details/87975663 删除delphi组件TStringlist中的重复项目 2019年02月27日 15:41:15 ozhy111 阅读数 81   procedure RemoveDuplicates(const stringList : TStringList) ; var   buffer: TStringList;   cnt: Integer; begin   stringList.Sort; …
学习安装组件的最好方法,就是自己编写一个组件并安装一遍,然后就真正明白其中的原理了.   本例,编写了两个BPL, dclSimpleEdit.bpl 与 SimpleLabel.bpl ,其中,dclSimpleEdit.bpl 依赖 SimpleLabel.bpl , 或者说 dclSimpleEdit.bpl 需要 SimpleLabel.bpl 才能运行.这也是多数组件安装问题之典型!   本例源码下载(delphi 7)   一.首先在delphi中打开 ComponentStudy…
2.双简合璧2.1.带有T[x]Label的T[x]Edit组件 请允许我用[x]的书写方式来表示不同的对象.因为随后将大量提及TLabeledEdit与TTntLabeledEdit.TCustomLabeledEdit与TTntCustomLabeledEdit这样及其雷同的类.2.2.分析T[x]LabeledEdit组件结构 现在要设计一个类似TLabeledEdit的组件,查看ExtCtrls的TLabeledEdit定义如下:  TLabeledEdit = class(TCusto…
最近业余时间在写游戏修改器玩,对于Delphi自带的组件总觉得差强人意,需要书写大量冗余代码,如果大量使用第三方组件,在以后的移植和与他人交互时也不是很方便,因此便产生了自己封装组件的想法. 实际上这个想法在很久以前(大概04年写第一个修改器的时候)就有了,一直没有闲暇时间去做,而工作上类似的组件也会很实用,虽然不见得有第三方组件设计的那么规范.强大,但小巧.灵活是自主开发的优点. 很多初学者喜欢大量使用第三方组件库,经常见到一个软件中掺杂了四.五种组件库,这是让人很郁闷的.为了阅读.维护这样一…
indy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰.Indy9发展到了indy10几乎完全不兼容,可叹啊.言归正传.在使用IdTCPServer组件的时候发现了他的漏洞,他的OnConnec,OnExecute,OnDisconnect等事件是在其他线程中执行的,通常情况下这没有问题,但是在特殊的情况下会造成问题,如果其他部分的程序写得有问题就会出现漏洞.…
这是一个在窗体标题栏添加自定义按钮的组件(TTitleBarButton)开发实例,标题栏按钮组件TTitleBarButton以TComponent为直接继承对象,它是一个可以在窗体标题栏上显示按钮的组件,像最大化.最小化和关闭按钮等. 1.首先确定组件的属性. 属性是组件的重要组成部分,它相当于组件的门面,因为一旦一个组件被置于窗体中时,用户必然想到去设置组件的各种属性,编写各种事件的处理过程.TTitleBarButton有以下属性: Color:用来决定按钮表面的颜色.Glyph:用来决…