[FMX] QDAC 新增 FMX VirtualTreeView 实现

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

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

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

[QSecurity]QSecurity 使用入门指南

QSecurity 是 QPlugins 的安全相关插件接口及其实现, qplugins_security.pas 定义了安全相关的接口,我们在插件中使用时,只需要引用这个接口文件就可以了。而服务的实现单元并不包含在免费开源的范围内,如果您不想自己实现,或者想参考实现,需要付费购买,价格为人民币 99.00 元。 无论

[教程]解析 Web 颜色(VCL)

这段代码支持的Web颜色格式为 #RRGGBB/#RGB 以及以Web标准名称命名的颜色(需要引用单元:qstring,graphutil):

比如#FF0000 和 #F00 都被解释为红色。

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

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

[FMX]太糊弄了,请不要使用 FMX.Platform.Win 中 GetDisplayMatrics 来获取物理信息

上官方的实现源码:

对比 Android 版本:

再对比 iOS 的:

换句话说,Windows 版的物理屏幕尺寸、逻辑屏

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

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

[FMX]使用 FMX 实现的左侧菜单效果

这个只是让你看看,并没有代码提供。使用 FMX + QPlugins 实现,菜单实际上是由不同的服务注册提供的。 现在常规的菜单都喜欢放在上边,实际上对现代宽屏的空间利用来说是一个浪费,而浪费是可耻的,所以希望大家多多使用类似这种左侧菜单的设计,把更多的空间留给真正有用的内容使用。 现在的效果只是一个设计上的预览,将来

[FMX]在程序中使用已有的样式做自己需要的渲染

今天我们来做一件坏事,我们都是坏孩子…… 我们知道,FMX 是有 StyleBook,每个控件有自己的样式,但有时候,我们要绘制自绘一些状态,难道非要用户重新定义一堆样式吗?为啥不能利用现成的样式呢,比如,我就只是要自绘一个CheckBox,但我还不想放置一个TCheckBox组件,那么怎么来做呢? 第一:我们需要知道

【教程】在你的程序中使用自定义字体

【Android】 方法一:参考 [译]在 Andriod/IOS 程序中使用自己的字体 自己修改系统源码,缺点是每升级一个版本需要修改一次; 方法二:使用 QDAC 为此新增 qdac_fmx_fontex_android ,不过区分免费版和赞助版(赞助版为qdac_appfonts,同时支持所有平台),但使用步骤一

[教程]在你的程序中使用 FontAwesome 字体

首先是无论什么平台,要使用 FontAwesome 字体需要两步: 第一步:添加字体,考虑到字体如果是专用的话,应该是当前程序能够加载字体的目录(下面都假设这一点,你如果装到操作系统字体目录里的话,就直接使用就可以了); 第二步:设置控件的字体为 FontAwesome,然后调整字体大小和样式为合适的大小; 【Wind

RAD Studio 2017年9月份最新路线图

官方原文链接 大意翻译下: 第一篇是安全港声明,大意就是别太当真,这只是计划,计划没有变化快。 第二篇是回顾现状,大家都知道的,不翻译了。 第三篇是2017~2018的总体规划: Windows 桌面开发聚焦于 IDE/VCL 增强、Delphi 语言功能、追随最新的C++标准以及Windows 10 的持续支持; 移

[QMacros] 使用迭代器来重复内容

QMacros 2017年9月18日提交的版本支持了迭代器,以重复替换某一部分内容。 迭代器的声明:

好吧,这是一个接口,这就意味着,我们绑定某个宏到这个迭代器之前,需要先实现一个迭代器。我们可以继承自 TQMacroIterator 实现一个自带的迭代

[QLang]Android 发布 QLang 语言文件

作者承诺的 QLang  FMX 版本一步步向我们走来,截止本文发布时,QLang 已经做到 : Windows 平台完整(VCL 和 FMX 框架同时支持,32位 / 64位均可) QLang 已经在 Android 下成功的编译运行,下面是两张效果图 好了,那么接下来的事情,本教程教大家怎么来将语言文件打包到你的

[FMX]关于 Delphi 10.2 Android 无法触发 TIdleMessage 响应的补丁

Android 10.2 引入了新的 Android 实现,结果也搞砸了一些事情,比如 TIdleMessage 的订阅,你再也接收不到了,是不是听到了 ♥  碎的声音。 下面的补丁在用来帮你在不修改 FMX 源码的前提下,打一个补丁。当然这个补丁我也不确定它是否很完美,至少满足我自己的工作需要,剩下的就大家在实践中来

[教程]通过 PnP 获取显示器信息示例

在一些场合,我们需要获取显示器的硬件信息,来便做一些便宜的处理(那当然具体的处理就不需要我说道了),下面的代码提供了一种实现,供有需要的朋友参考: 下载:MonitorEDID 效果: 当然了,如果你没有想到用它来干啥,说明你根本就用不到它,当然也就不用管它了,全当看了一个笑话。