款式修改窗口,开发调整过窗口格局保存功能,关了窗口重新打开还是按关闭前的格局.
1.
如果允许用户在运行时移动控件和调整控件大小,你必须确保在窗体关闭时保存控件的位置,窗体创建/加载时恢复每个控件的位置。以下是如何在INI文件中存储的每个窗体上的控件的左,上,宽度和高度属性。
接下来的两个程序TFrmStyleProp.WriteControlPlacement;
var和TFrmStyleProp.ReadControlPlacement;用Delphi的ini文件来存储和恢复窗体上每一个控制的位置属性:
//款式修改窗口格局 BN0158
uiuujhbfggchchhchjhcjhjchj
//写窗口的控制放置位置
procedure TFrmStyleProp.WriteControlPlacement;
var
iniFile : TIniFile;
idx : integer;
ctrl : TControl;
begin
iniFile := TIniFile.Create(ChangeFileExt(Application.ExeName,'-prop.ini')) ;
try
for idx := 0 to -1 + Self.ComponentCount do
begin
if Components[idx] is TRzSizePanel then
begin
ctrl := TControl(Components[idx]) ;
iniFile.WriteInteger(ctrl.Name,'Top',ctrl.Top) ;
iniFile.WriteInteger(ctrl.Name,'Left',ctrl.Left) ;
iniFile.WriteInteger(ctrl.Name,'Width',ctrl.Width) ;
iniFile.WriteInteger(ctrl.Name,'Height',ctrl.Height) ;
end;
end;
finally
FreeAndNil(iniFile) ;
end;
end;
//读控制窗口的位置
procedure TFrmStyleProp.ReadControlPlacement;
var
iniFile : TIniFile;
idx : integer;
ctrl : TControl;
begin
iniFile := TIniFile.Create(ChangeFileExt(Application.ExeName,'-prop.ini')) ;
try
for idx := 0 to -1 + Self.ComponentCount do
begin
if Components[idx] is TRzSizePanel then
begin
ctrl := TControl(Components[idx]) ;
ctrl.Top := iniFile.ReadInteger(ctrl.Name,'Top',ctrl.Top) ;
ctrl.Left := iniFile.ReadInteger(ctrl.Name,'Left',ctrl.Left) ;
ctrl.Width := iniFile.ReadInteger(ctrl.Name,'Width',ctrl.Width) ;
ctrl.Height := iniFile.ReadInteger(ctrl.Name,'Height',ctrl.Height) ;
end;
end;
finally
FreeAndNil(iniFile) ;
end;
end; (*ReadControlPlacement*)
2.procedure ReadControlPlacement;
procedure WriteControlPlacement;
3.procedure TFrmStyleProp.act_CloseStyleExecute(Sender: TObject);
begin
.........
WriteControlPlacement
end;
4.//调用
在窗口的FormShow事件处理函数中调用ReadControlPlacement;
procedure TFrmStyleProp.FormShow(Sender: TObject);
begin
ReadControlPlacement;
end;
在窗口的FormClose事件处理函数中调用WriteControlPlacement;
procedure TFrmStyleProp.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
WriteControlPlacement;
Action := caFree;
end;
5.
uses
..........
..........
..........
IniFiles;
相关文章
- Knockout 新版应用开发教程之Observable Arrays
- iOS开发UI篇—UIScrollView控件实现图片缩放功能
- 项目开发过程中如何使用免费开发手机验证码验证功能(详细教程)
- 开发框架XUtils
- 11-crm项目-kingadmin,列表页actions功能开发
- s3c2410上搭建QT/Embedded4.8.5开发环境(六)--QtCreate的配置
- EasyDarwin相关Android安卓客户端EasyPusher/EasyPlayer/EasyCamera/EasyClient在无开发环境进行log抓取
- 项目实战之集成邮件开发
- 通过分析蜘蛛侠论坛中的版块管理功能来介绍该如何使用我开发出来的ROM框架
- Qt音视频开发47-通用视频控件
- Python Django开发案例:POST方式实现登录功能
- 48. 如何在 SAP UI5 应用里开发条形码扫描功能
- SAP UI5 应用开发教程之六十六 - 基于 OData V4 的 SAP UI5 表格控件如何实现删除功能试读版
- [LINK]Python服务器开发一:python基础
- Atitit enhance dev effect提升开发效率的十大原理与方法v2 u66.docx Atitit enhance dev effect提升开发效率的十大原理 目录 1. 管理2
- SAP UI5 应用开发教程之八十 - 采用测试驱动开发理念(Test Driven Development)进行 SAP UI5 应用的功能开发(二)试读版
- Android开发7年,我整理出移动开发架构师进阶知识体系,年薪保底50w
- 会员管理小程序实战开发教程(六)-会员查询功能
- 腾讯云低代码开发实战教程-分类导航功能
- 〖Python语法进阶篇⑯〗- 综合实战 - 抽奖系统之基础功能开发 - base奖品相关功能实现
- QT音频开发:使用QAudioInput+QAudioOutput实现录音机功能,支持选择指定声卡录音,指定扬声器放音
- 开发一款浏览器内核需要学习哪些方面的知识?
- 谈谈多线程开发中的线程和任务的理念
- 嵌入式linux开发,将文件存放目录挂载到系统内存中
- FastAdmin 开发学习给输入框加上清除功能
- 最新python测试开发笔/面试题(含答案)
- 脚手架开发基础
- JavaEE——Spring学习笔记03【AOP开发】
- 【软考】信息系统开发基础 - UML事物、用例图关系 和类图关系(类模型)详解
- opencv-python 开发环境的安装、配置
- JoyStick for android2.3 游戏手柄功能开发