| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> AlphaControls 控件 TFrame的灵活运用 -> 正文阅读 |
|
[移动开发]AlphaControls 控件 TFrame的灵活运用 |
AlphaControls 控件 TFrame的灵活运用 ? ? 一、Frame ? ? Delphi的TFrame是从TForm类继承的,但是TFrame没有onShow和onHide事件。它为创建一个没有MDI窗体相关的GUI应用程序,提供方便。 ? ? TFrame是一种框架组件,使程序开发人员能够可视化的设置,将窗口或VCL作为容器,通过加载调用TFrame,组成不同功能的窗口和容器。 ? ? 使用TFrame框架好处: ? ? 一是框架可大幅减少需要存储在工程中的资源量。二是框架允许你对容器功能控制加载TFrame,让编程快捷方便。三是代码的重复使用。 ? ? AlphaControls第三方控件,Deme中大量使用TFrame,只有熟悉TFrame,才能读懂代码。 ? ? 注意:TFrame与TForm的区别: ? ? 1、TForm仅是一个窗口,TFrame是个框架,它可以是整个窗口的框架,也可以是窗口中一个区域(TPanel)的框架。 ? ? 2、TForm,只要uses加入,可以直接引用窗口中的控件,如MainForm.Button1 ? ? TFrame不可以直接引用,必须通过ComponentCount搜索间接引用:
? ? 3、Delphi的方法(函数或过程)中,TFrom可以作参数引用,需TFrame是不可以当作参数引用的,否则会出错: ? ? Incompatible tpyes: TFrame and Class reference
? ? ?声明一个TFrame的类后,才能在(函数或过程)中,要引用。 ? ? 4、TForm可以单独使用,而TFrame只是容器的框架,它只能在放入容器中使用。 ? ? 此外,TFrame没有构造器和解析器,依赖于父容器完成Destroy的工作。 ? ? 二、TFram的建立 ? ? (3)向TFrame中加入控件,并指定相关控件的事件?? ? ? 三、创建Frame ? ? ?这是静态创建的一种模式。
3、动态创建
? ? 四、TFrame使用 ? ? 在程序中使用TFrame,使用TFrame关键的三个步骤: ? ? 1、创建TFrame; ? ? 2、程序中(或窗口中),创建TFrame; ? ? 3、当TFrame的实体(创建后的TFrame),需要通过纳入一个容器,才能使用: ? ? (1)向TFrame.Parent(赋值窗口对象)
? ? (2)由一个TFrame类型的参数(VAR XXX:TFrame)引导,指定TFrame的?Parent属性: ? ? ?五、TFrame的用途 ? ? ? 1、窗口放入TsPanel、TsScrollBox容器的依据功能更换界面时,加载不同内容的TFrame; ? ? ?以下是通过TsScrollBox容器,加载不同的TFrame,组成不功能引导模块: ? ? ?切换的效果:
? ? 以下是通过sFrameBar1,加载的不同的菜单选项: ? ? ?3、TabPage中,加载不同的TFrame,组成不同功能的Page窗口 ? ? 六、TFrame释放 ? ? ?1、直接释放,使用Free? ? ? ? Frame1.Free; ? ? ?2、跟随父容器释放,例如父容器TTabPage: ? ? ? FreeAndNil(TabPage1); ? ? 七、体会 ? ? 1、TFrame作为窗口菜单的项目,使用静态TFrame,在那个窗口引用,就在那个窗口OnShow事件中创建。 ? ? ?2、作为窗口的内容,TFrame使用动态TFrame,比较好,动态创建,可以减少占用内存。 ? ? ?例如: ? ? ?(1)全局变量引用TFrame
? ? ? (2)主窗口OnShow事件中,创建TFram,引入关联变量
? ? ?(2)函数或过程中引用
引用:
? ? (2)声明继承TFrameClass
引用定义方法:
引用:
? ? ? ?最后,灵活运用TFrame,可以让代码减少,增加代码的逻辑性。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 21:24:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |