注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

鑫淼梦园的博客

圆你的梦想 从这里开始

 
 
 

日志

 
 

Delphi XE7 学习笔记 StyleBook当公共对象使用  

2014-10-06 20:20:56|  分类: delphixe7 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
       一个项目,肯定要有公共对象,我就遇到如StyleBook,多个窗口都要用到他来设置窗口的显示风格,怎么办呢?按传统的方式,用一个全局的DataModule来管理。于是我这样:在项目中,我建立一个TDataModule,说实话,在xe7找了半天才找到在哪建立,如下图:

Delphi XE7 学习笔记(七)StyleBook当公共对象使用 - 你梦我圆 - 鑫淼梦园的博客
 
然后,拖放一个StyleBook上去,再通过StyleBook选择一个显示样式,准备让所有的窗口都引用这个StyleBook,好统一所有的Form都用一个显示样式。


然后,在具体的Form上引用这个StyleBook,当然,为了引用他,首先要引用TDataModule单元,然后就可以在Object Inspector窗口中,通过选择的方式(为了选择StyleBook,需要打开DataModule单元),设置Form1的StyleBook属性,设置完属性,Form1会利用新的样式显示,所见即所得。如下图:


这里,存在一个问题,应算是xe7的一个bug,就是按上面,在设计期设置好Form的StyleBook,则在下次打开项目时,会产生错误:
Delphi XE7 学习笔记(七)StyleBook当公共对象使用 - 你梦我圆 - 鑫淼梦园的博客
 
为了规避这个问题,我们可以用代码来解决,在Form的OnCreate事件中处理,去掉在设计期对DM对象的引用。

procedure TVKBaseForm.FormCreate(Sender: TObject);
var
  i: integer;
begin
{$ifdef android}
  self.StyleBook:=dm.StyleBook1;
{$endif}


  LinkFillControlToField1.Active := False;
  for i := 0 to 50 do
    ClientDataSet1.AppendRecord(['第'+i.ToString+'条记录.',i]);
  LinkFillControlToField1.Active := True;
end;

处理完所有的Form,就统一其风格了!

象StyleBook一样,可以把全局对象都放到DataModule中,供项目中其他单元引用,实现对全局对象的管理了。文中DataModule是由项目自动建立的,我们也可以控制DataModule的建立过程,实现对所有全局对象的进一步管理。
  评论这张
 
阅读(464)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017