【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函数!