【FireMonkey】StyleBook使用方法
近期在开发一个团队文档管理工具,使用Embarcadero的XE2-C++builder进行界面开发,使用Firemonkey框架。
而这个框架十分有趣!可能吸引界面开发者的就是这个StyleBook;
首先先附上一个小范例
http://docwiki.embarcadero.com/CodeSamples/en/CustomListBox_Sample
这个小东西就是在Listbox里面增加自定义风格记录
从图上可以看见相应的效果。一条记录里面包含checkbox、text、button这些控件,而且checkbox并非原生的控件(经过研究是自己添加的一个Layout)。
而这个范例揭示了这个框架的一些很有意思的东西:
1.我们可以通过自由开发组合相应的控件来加入到Listbox等列表控件里面。
2.开发十分方便,而且无需创建自定义控件。
3.使用也十分方便,使用Binding数据绑定来做到相关操作:http://www.cnblogs.com/del/archive/2011/10/01/2197041.html
这也就为开发界面及相应的接口大大提速!
而我这里着重提及上述范例的开发方法(毕竟本项目使用到该技术)
首先要加入TStyleBook控件(在测试过程中,我发现如果加入两个TStyleBook控件时仅仅调用第一个TSB控件,这里的原由还要研究!)
然后双击进入这个控件在里面增加Style
在编辑前先给Style添上名字,具体方法:在第一层(最顶层的控件里有个属性StyleName!)
而编辑Style方法是否简单,其实就是组合控件的过程,直接拖拉控件进行组合!其中有层次关系,所以在组合时候要注意!
(最右边有三个按钮
仅知道第三个是删除该控件,前两个不清楚!)
编辑完成后,需要给风格中的每个控件添加BindingName,具体方法:对每个控件的BindingName属性修改!
控件的其余属性与一般开发时控件属性操作一致!
如何调用这个已完成的Style?
以ListBox为例:
则Listbox中的创建的Item就类似于风格中的组合控件一样,而排版方式与原来的Listbox记录排版方式的一致!
而我们同样也可以在Listbox的属性StyleLookup中添加风格名,则创建出来的item与上述方法效果一致!
//-------------------------------
而这种方法会带来很多十分有趣的东西!
//-------------------------------
补充:在StyleBook创建组合控件风格时,每个控件中有个关键属性为HitTest(敲击测试),如果为true则在加入item后点击这个item时可能不会立即跳入item的click函数,而是会跳入组合控件中的某个控件click函数!
【FireMonkey】StyleBook使用方法的更多相关文章
- Delphi XE2 之 FireMonkey 入门(1)
Delphi XE2 的 FireMonkey 是跨平台的, 暂时只准备看看它在 Windows 下(我是 32 位 Win7)的应用情况. 很新的东西, 相信有了它, 以后的界面将会更灵活.漂亮, ...
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- FireMonkey 保存图片到JPG的方法 BMP转JPG
习惯VCL的做法了,到了FireMonkey里面,好像查不到单独的JPEG单元了,不少朋友就郁闷如何处理JPG了,这么大件事,不可能没有处理方法的,具体就请看代码: uses FMX.Surfaces ...
- Delphi XE的firemonkey获取当前文件所在路径的方法
Delphi XE的firemonkey获取当前文件所在路径的方法 在之前,我们知道有三种方法: ExtractFilePath(ParamStr(0)) ExtractFilePath(Applic ...
- firemonkey获取当前文件所在路径的方法
在之前,我们知道有三种方法: ExtractFilePath(ParamStr(0)) ExtractFilePath(Application.ExeName) GetCurrentDir + '\' ...
- FMX有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法(firemonkey messaging)
看FMX代码,发现有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法. 早前,看过文章说TMessageManage ...
- 在Vcl和FireMonkey应用程序中启用TXMLDocument 的XPath(selectNode,selectNodes)方法
该TXMLDocument的类让你来操作VCL和FireMonkey应用程序的XML文件,但这个类没有实现直接的方式来调用XPath的相关方法(selectNode,的selectNodes),所以你 ...
- Delphi XE2 之 FireMonkey 入门(29) - 数据绑定: TBindingsList: 表达式的 Evaluate() 方法
Delphi XE2 之 FireMonkey 入门(29) - 数据绑定: TBindingsList: 表达式的 Evaluate() 方法 TBindingsList 中可能不止一个表达式, 通 ...
- Firemonkey TComboBox 下拉菜单字型修改方法 (D10)
在 FMX 下的 TComboBox 下拉菜单字型修改有二种方法: uses FMX.Pickers; 使用 Style,需先设定好 Style 后,再指定预设项的 Style,方法如下: proce ...
随机推荐
- Request对象与Response对象
1.Request对象 Request对象是来获取请求消息的,是由服务器(Tomcat)创建的. Request对象继承体系结构: ServletRequest -- 接口 ...
- 使用dpkg命令卸载已经安装的软件包
如何在Ubuntu中使用dpkg命令卸载软件 http://jingyan.baidu.com/article/f54ae2fc2724a71e92b849c4.html sudo dpkg -i x ...
- 前端获得session信息方式对比,优化
在开发中,页面 js 经常会遇到需要 当前登录用户信息(菜单权限,用户基本信息,配置信息) 的地方,一般情况我们可能对这些信息获取方式不是太在意,但是现在的前端通过webpack打包,即使做了代码分割 ...
- react-router 4.0 升级攻略
react-router 4.0 出来好9了,项目在4月份的时候对react-router进行了升级,升级耗费了3天,一个坑一个坑踩了过来. 按照公司项目情况说下升级改了哪些,项目使用的是hashHi ...
- 感受C#6.0新语法
作为一门专为程(yu)序(fa)员(tang)考虑的语言,感受一下来自微软的满满的恶意... 1. 字符串内联在之前的版本中,常用的格式化字符串: var s = String.Format(&quo ...
- CentOS7英文环境下使用中文输入法
一般我们使用英文环境是没有办法使用中文的,这是因为我们没有设置在英文环境下的中文配置,下面我们在英文环境下配置中文输入法ibus使得我们可以输入中文. 首先,安装ibus(centos6以后已经默认安 ...
- http.pieplining
默认情况下http协议中每个传输层连接只能承载一个http请求和响应,然后结束. HTTP是一个简单的协议.客户进程建立一条同服务器进程的 T C P连接,然后发出请求并读取服务器进程的响应.服务器进 ...
- 乱侃OOD
接口代表的就是共同性,所谓面向接口编程,就是要抽象各种不同概念的共同点 然后把这些概念的不同点用具体的类包装起来,这样一看,面向接口编程就等于面向对象编程 其实说白了是一个概念 IOC就是要把对细节的 ...
- 《深入理解Android2》读书笔记(四)
接上篇<深入理解Android2>读书笔记(三) ActivityManagerService(AMS) 1.AMS由ActivityManagerNative(AMN)类派生,并实现Wa ...
- (8)go 字符串
内建函数在 包中 1. len(str) 计算长度,中文占3个字符 2.字符串遍历,同时处理中文 package main import ( "fmt" ) func main() ...