Delphi中Frame的使用方法(2)】的更多相关文章

Frame在写代码时和一般组件有什么不同呢?比如(1)中的客户信息的frame,如果想重写客户编辑按钮的click事件,会发生什么呢: procedure TBusOnSiteManager.FrameCustomerButtonEditCustomerClick(Sender: TObject);begin  inherited;  FrameCustomer.ButtonEditCustomerClick(Sender); end; 可见,IDE会自动加上调用Frame中按钮click的方法…
Frame是组件面板上的第一个组件,但不是每个人都知道怎么用它,因为它不像Button和Label一样简单明了.实际上,Frame按钮只是打开一个Frame的列表,如果你没有创建任何的Frame,自然什么也不会看到. 那么Frame到底是什么呢?简单来说: 1. Frame是组件容器,类似Panel 2. Frame在使用上类似Components组件,但并没有构造器和解析器,依赖于父容器完成Destroy的工作 3. Frame可以继承和嵌套 4. Frame内部的控件都是公开的,可以在IDE…
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法.而不需要再去找其它的DLL或是Pas了. 在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码即可以达到MD5的实现. 示例代码 procedure TForm1.Button1Click(Sender: TObject); var MyMD5: TIdHashMessageDigest5; Digest: T4x4…
[学习万一老师博客摘要] TTreeView 与两个重要的类相关:TTreeNodes.TTreeNode . TTreeNodes即是TTreeView 的Items属性,TTreeNodes是TTreeNode的合集,TTreeNode代表的是TTreeView的节点,不按主从关系,节点依次存储在Items中. TTreeView的Select方法用来指定TTreeView选择的节点,可以选择多个节点. TTreeNodes使用add添加同级节点,使用addChild添加下级节点.node.…
VirtualStringTree 的用法详解:作者:张志宝go淘宝 例子:创建了一个树名为VirtualStringTree1,第一列显示数据库字段ID的值,标题为编号:第二列显示字段Name的值,标题为名字.一.[TVirtualStringTree常用属性]    BorderStyle   :设置边框选项  bsSingle设置单边框   为TVirtualStringTree添加列及列标题:       Header--Columns : 设置列  点击“…”,在弹出界面点击add n…
procedure TMainFrm.Timer1Timer(Sender: TObject); var   systemtime:Tsystemtime;   dt:TDateTime; begin   L_DateTime.Caption:=FormatDateTime('YYYY-MM-DD HH:SS',Now); //显示当前时间 MainFrm.Caption:=IntToStr(Timer1.Tag);   timer1.tag:=timer1.tag+1;   if Timer1…
在有多个Form窗体时可以体现出来.用close是只关闭本窗体,而用Application.terminate是关闭整个程序,包括所有窗体.(1)当Close是一个主窗体时,程序会退出.Close会发生FormClose事件,FormCloseQuery事件.close,只是针对窗体.主窗体close以后程序就Application.Terminate了.子窗体close以后.没释放,还可以Show出来.也是说主窗口的Close方法其实也是调用Application的Terminate来终止程序…
函数功能:当Str不满Len长度时,在Str前自动填充PadStr以补足长度,例子如下: Str:原字符串 Len:补多长 PadStr:用什么补齐,比如‘0’ function PadString(Str: string; Len: Integer; PadStr: Char): string; begin Result:= StringOfChar(PadStr, Len - Length(Str)) + Str; end;…
delphi 中TStringList 通过function AddObject(const S: string; AObject: TObject): Integer; 方法添加了一个对象,请问我在调用Clear 方法的时候该对象有没有被释放   object里存的只是指向对象的指针,clear只是把指针清除了,对象并没有被释放.TObjectList可以自动释放对象,剩下的TList,StringList等List类型的都需要手动释放.…
TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delimiter & DelimitedText 3.Names & Values & ValueFromIndex 先看第一个:CommaText.怎么用呢?用代码说话: const constr :String = 'aaa,bbb,ccc,ddd'; var strs :TStrings…