Delphi中Frame的使用方法(1)

【Delphi Frame 使用示范】 帮助Delphi初学者学会使用Frame编程 阅读详情

Frame是组件面板上的第一个组件,但不是每个人都知道怎么用它,因为它不像Button和Label一样简单明了。实际上,Frame按钮只是打开一个Frame的列表,如果你没有创建任何的Frame,自然什么也不会看到。


那么Frame到底是什么呢?简单来说:

1. Frame是组件容器,类似Panel

2. Frame在使用上类似Components组件,但并没有构造器和解析器,依赖于父容器完成Destroy的工作

3. Frame可以继承和嵌套

4. Frame内部的控件都是公开的,可以在IDE里重置属性和事件,所以frame的内部封装一般都是松散的。访问frame上的组件用frame.control方式

5. Frame的使用范围仅在当前工程内

6. Frame的使用不像一般组件component有独立的功能,很多时候需要和父容器耦合在一起


看了半天还是不明白?看个例子吧:


上图是一个客户信息的Frame,因为在客户信息在很多的地方都需要显示,并且带编辑,查询,发邮件等按钮。当然你可以每次用到都拷贝一遍,但是做成frame组件,用的时候只要告诉frame客户id,剩下都交由组件本身完成,岂不是方便很多?

所以,frame和普通components组件一样,都是为复用设计的。只是frame是Delphi的特技,是一种简化版组件。如果你有一组可视化组件的集合,在多个地方重复出现,就应该考虑使用Frame了。

如何创建一个Frame呢,如图:



你可以把frame添加到组件面板,如图:





DelphiXE中Frame的动态加载使用 先创建好frame 1.手动将frame加入到窗体(panel)点一下控件栏里的frame然后再在要加的form里点一下.就可以了.如果有多个frame可以选择 2.动态将frame加入到窗体 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 阅读详情

相关推荐

Delphi中frame的使用

Delphi中frame的使用Delphi中frame的使用Delphi中frame的使用Delphi中frame的使用Delphi中frame的使用

Delphi TForm 转 TFrame

Delphi之前的代码,特别是复杂VCL窗口,转为Frame时,有时需要,从头做进,操作繁杂。 本人通过,找到快速将TForm轩为TFrame的办法:

lyhoo163的专栏 5098

Delphi Frame使用例子, 引用类的用法

Frame使用例子, 引用类的用法 delphi中Frame重用的例子,非常好

Delphi中Frame的使用方法

Frame是组件面板上的第一个组件,但不是每个人都知道怎么用它,因为它不像Button和Label一样简单明了。实际上,Frame按钮只是打开一个Frame的列表,如果你没有创建任何的Frame,自然什么也不会看到。 那么Frame到底是什么呢?简单来说: 1. Frame是组件容器,类似Panel 2. Frame在使用上类似Components组件,但并没有构造器

1024

Delphi的Frame框架示例

在使用Delphi时,相信使用Frame框架的人不多,今天无意中发现了Frame框架的妙用,其功能之强大,特示例之

DELPHI动态创建删除FRAME---示例源码

DELPHI动态创建删除FRAME unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,FM; type TForm2 = class(TForm) Panel1: TPanel; Button2: TButton; ScrollBox1: TScrollBox; procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; type TFM = Array Of TFrame1; var Form2: TForm2; aFM: TFM; procedure DeleteArrItem(var arr: TFM ; Index: Integer);stdcall; implementation {$R *.dfm} procedure DeleteArrItem(var arr: TFM ; Index: Integer); var Count: Cardinal; i:integer; begin Count := Length(arr); if (Count = 0) or (Index = Count) then Exit; Move(arr[Index+1], arr[Index], (Count-Index)* SizeOf(arr[0])); SetLength(arr, Count - 1); for I := 0 to Length(arr) - 1 do begin arr[i].Label1.Caption:=inttostr(i); end; end; procedure TForm2.Button2Click(Sender: TObject); var fram:TFrame1; begin SetLength(aFM,length(aFM)+1); aFM[length(aFM)-1] :=TFrame1.Create(nil) ; fram:=aFM[length(aFM)-1]; fram.Label1.Caption:=inttostr(length(aFM)-1); fram.Parent:=ScrollBox1; end; end. unit fm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFrame1 = class(TFrame) GroupBox1: TGroupBox; Label1: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; implementation uses unit2; {$R *.dfm} procedure TFrame1.Button1Click(Sender: TObject); begin DeleteArrItem(aFM,strtoint(label1.Caption)); ( Sender as Tbutton ).Parent.Parent.Destroy; end; end.

delphi frame的使用

Delphi中TFrame组件的使用           从Delphi 5.0开始,Borland 引进了一个新的可视化的容器类TFrame。         这个类,我们称之为TFrame框架组件,使程序开发人员能够可视化的设置一组组件,之后系统中对它进行重用。 TFrame 框架概观         TFrame框架有两个主要的好处:         第一、框架

alongwilliam的专栏 2204

用LTspice仿真Buck电路输出电容:从参数计算到波形优化的全流程演示

本文详细介绍了使用LTspice仿真Buck电路输出电容的全流程,从理论计算到波形优化。通过解析关键参数如纹波电压、瞬态响应和ESR,结合工程计算方法和LTspice仿真技巧,帮助工程师优化Buck电路设计,解决输出纹波过大和瞬态响应不佳的问题。

night的博客 852

Delphi中Frame的使用方法(2)

Frame在写代码时和一般组件有什么不同呢?比如(1)中的客户信息的frame,如果想重写客户编辑按钮的click事件,会发生什么呢: procedure TBusOnSiteManager.FrameCustomerButtonEditCustomerClick(Sender: TObject); begin   inherited;   FrameCustomer.Button

技术只是工具,人生才是目标 1万+

腾讯、飞书等在线表格自动化编辑--python

在线文档自动化处理数据

qq_32828053的博客 2万+

Linux 命令之 localectl -- 控制系统的本地化与键盘布局

文章目录命令介绍常用选项参考示例(一)显示当前的本地化设置与键盘映射(二)设置系统的本地化字符集环境变量(三)列出本地所有字符集(四)列出所有可用的控制台键盘映射(五)设置控制台的键盘映射 命令介绍 localectl 命令可用于查询与修改系统的本地化(locale)与键盘布局的设置。 它通过与 systemd-localed.service 通信来修改例如 /etc/locale.conf 与 /etc/vconsole.conf 之类的配置文件。本地化设置控制着 用户界面的语言、字符类型与字符编码、 日

liaowenxiong的博客 5399

Delphi中Frame的使用

一.主要代码 a)主窗体 type TFrameClass = class of TFrame; TFrmMain = class(TForm) Button1: TButton; Panel1: TPanel; Button2: TButton; procedure Button1Click(Sender: T...

weixin_34395205的博客 633

大模型运维实战:从GPU选型到推理服务稳定落地

大模型服务进入生产环境后,运维对象从传统进程转向GPU显存、KV Cache、推理吞吐等动态资源。显存利用率、首token延迟、并发队列深度等指标,直接影响模型服务的质量与成本。理解推理框架的内存分配机制、掌握监控告警与自动化扩容手段,是保障服务稳定的关键。这类能力广泛应用于企业私有化部署、智能客服、知识库问答等场景,帮助运维团队从被动救火转向主动容量规划与性能调优。本文围绕大模型运维的完整路线,梳理从硬件选型、推理部署到监控排障的实战经验,并算清一份真实项目的长期成本账。

weixin_29054245的博客 238

delphi 把Frame嵌入一个Form里面

delphi 把Frame嵌入一个Form里面   引言:最近编写delphi时遇到一个frame复用的问题,如何在一个form窗体添加一个已经编辑好的frame?就像delphi的组件一样方便使用。下面是自己总结的方法,虽然很简单,但是对不了解的同学还是一个小麻烦。   步骤: 1. 编辑一个frame页面,如下图。 2.编辑frame,为简单起见就一个编辑框和一个按钮好了。然后

jerome_jun的专栏 8472

秋叶ComfyUI整合包:一键部署AI绘画工作流,解决环境配置难题

在AI绘画和生成式AI领域,Stable Diffusion作为开源的扩散模型,为图像生成提供了强大的技术基础。其核心原理是通过学习数据分布,对随机噪声进行逐步去噪,最终生成高质量的图像。这项技术的价值在于极大地降低了专业图像创作的门槛,并推动了AIGC(人工智能生成内容)在艺术设计、游戏开发、广告营销等场景的广泛应用。然而,其典型工作流实现工具ComfyUI,在实际部署中常因Python环境、PyTorch版本与CUDA驱动之间的复杂依赖关系而受阻,尤其是面对NVIDIA 30系、40系及未来50系等不同

优快云头条 670

土地利用数据从1972到2023:如何利用Landsat和Sentinel数据构建长期变化监测模型

本文详细解析了如何利用1972至2023年的Landsat和Sentinel遥感数据构建土地利用长期变化监测模型。通过多源数据融合策略、时间序列预处理流程和深度学习算法,实现高精度的土地利用分类与变化检测,为生态评估和城市规划提供科学依据。文章还探讨了验证方法和实际应用案例,展示了长期遥感数据在环境建模中的独特价值。

weixin_28720573的博客 445

delphi如何把Frame嵌入一个Form里面

本文出处:delphi 把Frame嵌入一个Form里面 引言:最近编写delphi时遇到一个frame复用的问题,如何在一个form窗体添加一个已经编辑好的frame?就像delphi的组件一样方便使用。下面是自己总结的方法,虽然很简单,但是对不了解的同学还是一个小麻烦。   步骤: 1. 编辑一个frame页面,如下图。 2.编辑frame,为简单起见就一

shao882的专栏 1569

运维系列【仅供参考】:微信版本过低 使用CheatEngine绕过

微信版本过低 使用CheatEngine绕过

weixin_54626591的博客 2135
上一篇: Delphi XE Refactor重构功能简单说明
下一篇: Delphi中Frame的使用方法(2)
「已注销」
博客等级 码龄25年 81粉丝 35原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值