[教程]FMX中实现图片素材形状剪裁

这个东西,如果不知道方法,还是很难办的。知道方法就很容易了。 1、我们放一个TCircle,当然其它的也随意。 2、修改 Fill 的三个属性:Bitmap 指向要被剪裁的图片, WrapMode 选择 TileStretch(请保持图片尺寸比例和当前圆形的尺寸一致,否则可能变形),Kind 改为 Bitmap 设置完

[教程]FMX for Android 使用自定义字体

步骤1:找到相应的字体文件 步骤2:在部署页面,将字体部署到 assets\internal\,保证文件为名为 字体名称.ttf 或者是 字体名称.otf,注意这个字体名称必需与在控件的 TextSettings.Font.Family 的设置一致 步骤3:设置对应控件的字体属性名称为文件名中的 字体名称 部分 步骤4

[教程]Delphi Android应用启动画面详解

很多人在吐嘈Delphi Android Splash 的设定(包括我在内),确实设计的很糟糕。不过话说回来了,也不是不能用,所以大家研究之后,八仙过海,各显神通。对于这些教程,大家可以参考。 首先说一下 Delphi 自带的 Android Splash 实现的限制: 如果你注意到上面的限制,那么如果不修改系统的 S

[FMX]教程:运行时动态修改 FMX 样式

简单说几个点: 1、FMX 框架下,样式是通过名称来标志的。 2、GetStyleObject 默认是克隆原始的样式,所以直接修改对象自身的 FResourceLink 实例,不会影响其它样式,如果要修改全部同一类型控件的样式,手动调用控件的 GetStyleObject(false) 来获取样式的原始实例即可,进行调

[FMX]使用 TListBox.ItemsExchange 而不是??来交换列表中两个项目的顺序

上面的 ?? 有没有几个想当然的和我一样,试图用 TListBox.Items.Exchange 来交互两个项目的顺序的?如果你那么做了,恭喜您,迷茫吧~~,彷徨吧~~,陪我一起放羔羊吧~~~ p实际上官方看来也知道这个问题,在TListBox的级别上直接提供了一个 ItemsExchange 函数来完成这一工作。我想

[教程]FMX 下将当前控件的相对坐标转换为屏幕坐标

好吧,在 VCL 里简单的 ClientToScreen,到了 FMX 就变得不是那么简单了。这就牵涉到了 FMX 的坐标体系,咱们不在这里的展开说明,仅提供实现的介绍: 1、调用控件的 LocalToAbsolute 将控件坐标转换为绝对坐标,这个绝对坐标是相对于 Form 的,所以不要以为它是屏幕坐标,这是人很容易

[FMX] FMX 动画类的一个辅助增强

本增强的目的是解决动画对象只支持 published 的有效的几种属性的问题,确切的说,这是一个适配器,通过匿名函数建立与非 published 属性的适配。我在 [FMX] Delphi 中 TAnimation 设计的几点值得商榷的地方 一文中讨论了 FMX 动画支持类的一些值得商榷的地方和改动,而这个增强从另一个

[FMX] QDAC 新增 FMX VirtualTreeView 实现

好吧,我本来不想在 QDAC 里添加 UI 相关的东西,不过 FMX 的树实在让人不爽,等 VirtualTreeView 的 FMX 版也等不到,FMX 的闭源实现到是有一些,但根据群友的反馈,也就那样吧。所以狠狠心,咬咬牙,花了近一周的时间,自己写了一个,命名为 TQVirtualTreeView,自己测试的结果,

[FMX]在 QPlugins 中 VCL 宿主使用 FMX DLL 需要手动处理的问题说明

由于众所周知的原因,FMX 的 DLL 在 FreeLibrary 时,会出现 AV 异常,这实际上包含了两方面的原因:  FreeLibrary 时,未正确清理内部的计时器,造成 FreeLibrary 后,内部的计时器到指定的时间点后仍然运行,结果就出现了 AV 错误。  GDI+ 初始化和清理只能在宿主程序中执行

[FMX]在 FMX 程序中绘制单像素宽度的直线

在前面的一篇文章中,我介绍了一种绘制低品质直线的方法,但是这么做,效率上肯定要打折扣的。在和群里的朋友们一顿交流折腾后,对于绘制水平或垂直的直线,现在有两种更简单的办法来解决这一问题: 办法一:使用 FillRect 来代替 DrawLine 绘制,矩形区域的大小注意要在相应的方向上加 0.5 个像素。 Canvas.

[FMX]FMX 编写 Windows 平台下 DLL 需要解决的两个问题小结

1、在 FMX.Platform.Win 中,平台退出时,没有正确释放 FApplicationHWND 窗口,这样子造成模块释放后,窗口依然存在,所以这个需要修改 FMX.Platform.Win 的代码,以修正这一问题; 2、在 FMX.Forms.Win 中, 平台退出时,没有正确释放 FTimerActionH

[FMX] 在 FMX 中手动控制打印机打印内容

好吧,先说下版本:10.1.2,然后说遇到的两个 Bug: 一、字体大小的问题 打印机的字体大小错误,比如设置为10.5(五号字的大小,3.7mm),你会发现打印出的字特别小,根本与实际设置不搭别。所以在 10.1.2 时,输出文本时的字体大小需要按以下公式计算下: 字体磅数 × DPI/72 然后就没有问题了,比如现

[FMX]开年第二弹:修改 FMX.Forms.pas 避免在控件中滑动被识别为点击

通过修改 FMX.Controls 单元,我们在编辑控制上滑动时,输入法自动弹出的问题算是比较完美的解决了(参考:[FMX]开年第一弹:修改 FMX.Controls 避免按住编辑框移动时弹出输入法的问题),但 FMX 依然存在着滑动时触发OnClick事件的问题。 现在我们要做的就是解决这一问题: 1、找到 FMX.

[FMX]开年第一弹:修改 FMX.Controls 避免按住编辑框移动时弹出输入法的问题

在 FMX 中,当用户在编辑框上按下时,许多场景下,是要拖动位置,但是,FMX.Controls 在 MouseDown 事件中,就调用了控件的 SetFocus ,结果就造成按下时,弹出输入法,影响拖动操作。我们可以将相应的代码那到 MouseUp 中来解决这一问题。同时,我们加一个判断,以避免将拖动识别为点击。 所

[FMX]使用 FMX 那些缺失的动画效果

FMX 里的动画做起来简单So easy! TFloatAnimation 不能对一些整数类型的属性做动态效果。 实际上,我们并不需要太沮丧,毕竟天生我材必有用,今天吃饱了明天还饿,这只是因为官方忘了将TIntAnimation注册到面板上而已,我们只需要动态创建它并设置相关属性。 unit Unit1; interf

[转]AOne:修正Firemonkey 中英文混排折行问题(移动平台)

原文链接:[修正] Firemonkey 中英文混排折行问题(移动平台) – 龟山Aone – 博客园  问题:FMX 在移动平台的文字显示并非由该平台的原生 API 来显示,而是由 FMX.TextLayout.GPU 来处理,也许是官方没留意到中文字符的问题,造成在中英文混排折行时,有些问题