请选择 进入手机版 | 继续访问电脑版

大富翁Delphi开发技术网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3090|回复: 0

Delphi 10 Seattle定制ComboBox的字体

[复制链接]

970

主题

1459

帖子

4501

积分

论坛元老

Rank: 8Rank: 8

积分
4501
发表于 2015-11-10 09:08:45 | 显示全部楼层 |阅读模式
精品文章
支持版本: Delphi XE10 
资源分类: 控件 
发布平台: Windows 
转载地址: -

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 曾经拥有 于 2015-11-10 09:11 编辑

ComboBox对于app应用来说,很重要,对于输入项,提供一个下拉列表来选择,便于用户输入,提高应用的易用性,但FMX默认使用的Style,字体都是18,看起来很大,,我不喜欢这么大的。android默认是12,如何改成默认的呢?一直没找到办法怎么修改。

终于到了Delphi 10时代,得益于StyleBook的成熟,可以定制ComboBox的Style,说起来容易,找出怎么修改确是件很麻烦的事,过程就不多说了,看了ComboBox的代码才找出修改的方法。

原来,ComboBox内部使用了ListBox做下拉列表,而ListBox的StyleLookup是无法定制字体大小的,需要通过定义ListBoxItem的StyleLookup。

按上面的分析,我们放一个ListBox在Form上,然后增加一个ListBoxItem并修改他的Style:


修改了LisboxItem的默认Style后,ComboBox并不会体现出修改的结果,还需要修改ComboBox的DropDownKind=Custom.运行后得到下面的效果,注意,字大小变成12了。

ComboBox的DropDownKind默认值是Native,显示如下的效果:



查看代码,原来默认情况下,是使用OS内置的功能来弹出这个列表,效率好于Custom方式,但让人不爽的是字体又变成18.怎么把这个字体也改成12大小呢,暂时没有结果。

后记:
上面的例子,是通过默认的ListBoxItemStyle设置ComboBox的样式,那如果不用默认,而是用自制的ListBoxItemStyle呢?
答案是通过下面的属性来设置:
ComboBox1.ListBox.DefaultItemStyles.ItemStyle:='ListBoxItemStyleWhiteFont';

转载请保留当前帖子的链接:http://www.dfwlt.com/forum.php?mod=viewthread&tid=2067 谢谢!

搜索简单,分享不易,且分享且珍惜,您难道不想分享下您的心得?如果觉得本文章好的话,您可以在我们网站上注册,然后发布您的好的心得,让大家共同进步,谢谢!

最新添加

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

申请友链|Archiver|手机版|小黑屋|大富翁Delphi开发技术网站 ( 苏ICP备12065705号-4

GMT+8, 2020-1-28 08:11 , Processed in 0.105051 second(s), 30 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表