如何在 Delphi XE3 中的 Firemonkey FM2 应用程序中设置非客户区的样式

2023-11-23

我之前在 Delphi XE2 时间范围内问过这个问题,当时的答案很漂亮丑陋的黑客.

根据官方发行说明,现在 Delphi XE3 支持非客户端主题。在Firemonkey FM2中的Delphi XE3中如何做到这一点?

我相信这一定与样式书有关,但我无法弄清楚。表单本身有一个“EnableBorderStyling”属性,我将其设置为 true,我想我必须加载包含一些非客户端主题数据的样式,但我找不到包含它的样式。

帮助中没有任何关于这个主题的内容。

Update2好吧,它没有损坏,只是我没有包含此样式元素的样式(如 RRUZ 所说)。

procedure TForm1.FormShow(Sender: TObject);
begin
  StyleBook := StyleBook1;
  WindowBorder.UpdateStyle;
end;

Update3:样式文件似乎位于两个不同的位置,这令人困惑:

  C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\Redist\styles\Fmx        
  C:\Users\Public\Documents\RAD Studio\10.0\Styles

请注意,我在这两个位置都没有 Luna.Style(firemonkey 样式),但使用样式编辑器工具需要 5 秒。 (打开,另存为,然后将类型更改为.Style,我就有了一个!)

Update4:RRUZ 的答案有效,但在我的系统(Windows 8 RTM)上,非客户端样式看起来不正确,它们的区域周围有白色角 就没有完全涂漆。调整窗口大小会使它消失,我非常确定我应该能够强制 WM_NCREPAINT 或其他东西,并使其消失。


要为 Firemonkey 应用程序的非客户区域设置样式,所选样式必须具有windowborderstyle元素定义(如图所示)

enter image description here

从 delphi 包含的样式中尝试Luna.Style

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Delphi XE3 中的 Firemonkey FM2 应用程序中设置非客户区的样式 的相关文章

随机推荐

  • SQLite 使用 sqlite-net 加入 Windows 8 Metro C#

    我正在使用 C 和 SQLite 作为 Windows 8 Metro App 的数据库 我想使用 Join Command 但不知道如何读取给定的回数据 这是行不通的 db Query
  • CodeMirror 有内容,但只有按下按键才会显示

    我有一个 CodeMirror 实例嵌入在我正在构建的 web 应用程序中 它工作得很好 除了在用户输入新字符之前不会显示初始内容 因此 一切都在那里 只是隐藏起来 直到用户强制更改为止 这不好 有什么方法可以强制重新绘制或刷新浏览器来模拟
  • 搜索栏取消按钮有时在 ios 7 中不起作用

    当搜索栏最初隐藏时 搜索栏中的取消按钮在 iOS 7 中不起作用 我按照本教程在表格视图中创建搜索栏 raywenderlich 教程 本教程中有一个示例项目 使用该项目比我的解释更好 在 iOS 5 和 6 中工作正常 我已经审查了所有代
  • 提取具有属性的相关矩阵的一个三角形

    我有一个相等行和列的数据框 矩阵 我只想提取上三角形或下三角形 x lt data frame matrix 1 25 nrow 5 colnames x lt LETTERS 1 5 rownames x lt LETTERS 1 5 x
  • 如何在 WPF 中禁用 ListView 标题的移动/重新排序?

    WPF ListView 控件允许通过拖放对列重新排序 有什么办法可以禁用它吗 我希望一些 WPF 大师可以帮助我
  • 如何在 Node.js 中检查 ASP.NET 密码哈希

    首先我读了这个使用 SHA256 和 NET Node js 对密码进行哈希处理这对我没有帮助 我必须验证在 Node js 环境中的 ASP NET 中创建的密码哈希值 有人告诉我密码是使用以下算法生成的 ASP NET 成员资格使用的默
  • 检测到 globalKeyboardHook 中的 CallbackOnCollectedDelegate

    我正在使用全局键盘挂钩类 此类允许检查是否在任何地方按下了键盘按键 一段时间后我遇到了一个错误 CallbackOnCollectedDelegate was detected A callback was made on a garbag
  • 使用 else 子句终止 if ... else if 构造有什么好处?

    我们的组织有一个required编码规则 没有任何解释 if else if 构造应以 else 子句终止 示例1 if x lt 0 x 0 else not needed 示例2 if x lt 0 x 0 else if y lt 0
  • Bootstrap:具有绝对定位的容器?

    我有以下标记 div class banner wrapper div class banner image style background image url div div class container div class row
  • 如何终止与 SQL Server 2005 数据库的所有当前连接?

    我想重命名数据库 但不断收到数据库 无法获取独占锁 的错误 这意味着某些连接仍然处于活动状态 如何终止与数据库的所有连接以便重命名它 该方法的原因是亚当建议不起作用的是 在您循环活动连接的过程中 可以建立新的连接 并且您会错过这些连接 您可
  • 跨 C API 边界传递异常

    我正在用 C 编写一个库 它使用旧的 C API 我的库的客户端可以指定回调函数 这些函数是通过我的库间接调用的 而我的库是通过C API调用的 这意味着必须处理客户端回调中的所有异常 我的问题是 如何捕获边界一侧的异常 并在重新跨越 C
  • Azure Powershell - 检查资源是否存在

    我正在使用 Powershell 自动设置我的 Azure 环境 创建存储帐户 数据库 网站等 在开发过程中 我想要提供和拆除很多东西 很多时候 我想运行我的配置脚本并创建一个天蓝色资产如果它还不存在 但是 我还没有找到一种优雅的方法来做到
  • android studio gradle版本增量

    我正在尝试在 gradle android studio 中设置一个不错的小版本控制脚本 其中版本名称在每次构建时都会增加 而版本代码仅在我进行发布构建时才会增加 这可能吗 我认为可以解决这个问题的是检查下面的 if 语句是否是一个版本 但
  • Jersey 序列化/反序列化问题:抽象类型只能使用附加类型信息进行实例化

    我使用 jersey 进行序列化和反序列化 我已经使用 jersey 在 WebLogic 上创建了 REST 通道 我有包含抽象类的结果对象 Jersey 将此类的实现名称添加到结果元数据中 order type installation
  • 用代数方法简化平方根

    我想以代数方式简化整数的平方根 而不是以数字方式计算它 即 800应该20 2 not 28 2842712474619 我找不到任何方法通过编程来解决这个问题 对根下的数字进行因式分解 选出成对出现的因式 将其余的留在根下 800 2 x
  • 隐藏 TreeView 项目

    我一直在尝试隐藏 TreeView 中的项目 我使用自定义数据类型作为源 称为 SettingsMenuItem 它继承自 FrameworkElement 当前为 FrameworkContentElement 因为否则 TreeView
  • Java中的静态块[重复]

    这个问题在这里已经有答案了 前几天我正在查看一些代码 我发现 static 来自 C 我不知道为什么会出现这种情况 这不是一个错误 因为代码编译得很好 这个 静态 代码块是什么 It s a 静态初始化器 它在类加载 或准确地说是初始化 但
  • HTML5 中的 iframe 拉伸

    我有两个 html 文件 一个包含另一个带有 iframe 的文件 我想让这个 iframe 拉伸到父 html 的整个高度 所以第一个 html 文件 具有红色背景 如下所示 第二个 具有蓝色背景
  • Python:比较两个 csv 文件中的特定列

    假设我有两个 CSV 文件 file1 和 file2 其内容如下所示 file1 fred 43 Male 23 45 blue 1 bedrock avenue file2 fred 39 Male 23 45 blue 1 bedro
  • 如何在 Delphi XE3 中的 Firemonkey FM2 应用程序中设置非客户区的样式

    我之前在 Delphi XE2 时间范围内问过这个问题 当时的答案很漂亮丑陋的黑客 根据官方发行说明 现在 Delphi XE3 支持非客户端主题 在Firemonkey FM2中的Delphi XE3中如何做到这一点 我相信这一定与样式书