网上文摘 小说 Flash游戏 最近更新 下载排行 资源分类 下载指南
经典编程资源 精彩不容错过
设为首页
加入收藏
联系我们
  当前位置:Delphi园地精彩源码开源项目 → 实现选项配置管理对话框的一小型框架PreferneceManager v1.0
  本周下载排行
  本月下载排行
资源名称:实现选项配置管理对话框的一小型框架PreferneceManager v1.0
文件类型: RAR
适用版本:
发 布 者: CnPack开发组 许子健
资源类型: 免费
资源大小: 229 KB
资源等级:
整理时间: 2007-11-30 16:23:14
资源网址: http://www.cnpack.org
下载次数: 本 周:7 本月:11 总计:224
下载链接:
小说 Flash游戏
资源简介: 一、概述
本组件包用于实现对软件中类似“选项”或“配置”功能,分为配置管理器和配置项目两个部分,它们不依赖具体所用界面控件的载体,可以按需定制,因此具有扩展性。目前已经实现了基于TFrame的配置项目类。

二、快速指南

01.从IDE新建一个Frame;
02.使用uses引用untTBasePreferenceMgr.pas和untTPreferenceMgr.pas;
03.绘制你的Frame界面;
04.为你的Frame类加上下列Public声明;
  Procedure Apply;
  Procedure Revert;
  Function IsModified: Boolean;
05.在Implementation上方加入下列代码,并替换TYourFrame为在01中新建Frame的类名;
  {$DEFINE TPL_FRAME_PREFERENCE_ITEM}
   T_FRAME_UI = TYourFrame;
  {$INCLUDE 'tplTFramePreferenceItem.pas'}
06.在{$R *.dfm}下方加上下列代码,并替换TYourFrame为在01中新建Frame的类名,然后
  根据实际需求定义各项行为(Apply,Revert,IsModified);
  {$INCLUDE 'tplTFramePreferenceItem.pas'}

  Procedure TFramePreferenceItem.Apply;
  Begin
   TYourFrame(FFrameUI).Apply;
  End;

  Function TFramePreferenceItem.IsModified: Boolean;
  Begin
   Result := TYourFrame(FFrameUI).IsModified;
  End;

  Procedure TFramePreferenceItem.Revert;
  Begin
   TYourFrame(FFrameUI).Revert;
  End;

  Procedure TFrameItemA.Revert;
  Begin
   //加上自己的代码,比如恢复界面为默认设置的样子
  End;

  Procedure TFrameItemA.Apply;
  Begin
   //加上自己的代码,比如将设置写进ini或注册表
  End;

  Function TFrameItemA.IsModified: Boolean;
  Begin
   //加上自己的代码,比如判断是否界面与默认值一样
  End;

07.保存文件;
08.重复01至07,以设计其他的配置项目;
09.设计配置中心的界面;
10.在09的界面单元引用untTPreferenceMgr和01至07产生的所有单元;
11.定义01个TPreferenceMgr类型全局变量;
11.配置管理器的初始化,例如:

  Procedure TPreferenceForm.FormCreate(Sender: TObject);
  Begin
   // var M: TPreferenceMgr;
   M := TPreferenceMgr.Create;
   M.Parent := Self.RightPanel; //控制配置项目显示的位置
   M.Add(untFrame1.TFramePreferenceItem); //添加配置项目的类
  End;
12.配置管理器的销毁,例如;
  Procedure TPreferenceForm.FormDestroy(Sender: TObject);
  Begin
   M.Free;
   M := Nil;
  End;
13.调用TPreferenceMgr类型对象的各个方法实现所需功能,例如下面使用一个TreeView
  来控制;
  Procedure TPreferenceForm.StdBtnApplyAllClick(Sender: TObject);
  Begin
   M.ApplyAll;
  End;

  Procedure TPreferenceForm.StdBtnApplyCurrClick(Sender: TObject);
  Begin
   M.ApplyCurrent;
  End;

  Procedure TPreferenceForm.StdBtnCancelClick(Sender: TObject);
  Begin
   Self.Close; //关闭配置中心窗体
  End;

  Procedure TPreferenceForm.StdBtnDoneClick(Sender: TObject);
  Begin
   M.ApplyAll;
   Self.Close;
  End;

  Procedure TPreferenceForm.StdBtnRevertAllClick(Sender: TObject);
  Begin
   M.RevertAll;
  End;

  Procedure TPreferenceForm.StdBtnRevertCurrClick(Sender: TObject);
  Begin
   M.RevertCurrent;
  End;

  Procedure TPreferenceForm.WinTrvLeftMouseUp(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
  Begin
   M.Open(WinTrvLeft.Selected.AbsoluteIndex); //根据序号打开对应配置项目
   M.SetAsCurrent(WinTrvLeft.Selected.AbsoluteIndex); //激活显示在界面上
  End;
Google
 
Web www.delphifans.com
下载帮助() 下载链接错误报告或者意见反馈
下载说明:
关于我们 | 广告服务 | 发布资源 | 联系站长 Copyright © 2002-2006 Delphi园地 All Rights Reserved