如何在 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 应用程序中设置非客户区的样式 的相关文章

  • Delphi 2010 控制闪烁

    我一直在从 XP 操作系统升级或迁移我们的软件 以便能够在 Windows 7 下编译和运行 我们的软件开始出现我们在 Windows XP 下没有注意到的问题 目前 我正在处理 TForm 上闪烁的用户定义控件 它似乎时不时地闪烁 但并非
  • 在 Delphi 中,我的 DLL 中是否必须分配函数的返回 pchar

    我有一个 DLL 其中有一个返回 pchar 的函数 以避免必须使用 borlndmm 我最初所做的是将字符串转换为 pchar 并返回 Result pChar SomeFuncThatReturnsString 但 90 的情况下我都能
  • 如何解决内存分段并强制FastMM释放内存给OS?

    注意 32 位应用程序不计划迁移到 64 位 我正在使用一个非常消耗内存的应用程序 并且几乎优化了与内存分配 取消分配相关的所有相关路径 应用程序本身没有内存泄漏 没有句柄泄漏 没有任何其他类型的泄漏 据我所知并经过测试 我无法触及的第 3
  • 在 Firemonkey 中使用 TTreeView 进行拖放

    我正在使用 C Builder 10 2 2 Tokyo 和 FireMonkey FMX 我想添加拖放功能TTreeView 因此用户可以重新排列树项目的顺序 我已经添加了一个处理程序TTreeView OnMouseDown事件 基于这
  • 在 Delphi 中强制非阻塞临时提示窗口

    我一直在寻找 但找不到解决方案 所以我想也许我应该简单地发布它 这是我想要在 Delphi 2009 中做的事情 在我的应用程序中的某个时刻 我想向用户显示一条消息 这应该是正常的提示窗口 在正常应用程序定义的提示暂停后自动消失 并带有自定
  • Delphi - 通过 ADO 查询获取 Excel 行

    我有以下 Excel 文件 我将 AdoConnection ConnectionString 设置为 AdoConnection ConnectionString Provider Microsoft Jet OLEDB 4 0 Data
  • 为什么我不能在接收数组参数的函数中使用 SetLength?

    我正在尝试使用以下函数来设置动态数组 即 var 参数 的长度 当我尝试编译代码时只有一个错误 dcc64 错误 lolcode dpr 138 E2008 不兼容类型 function execute var command array
  • 创建FileStream时如何处理异常

    我有一个这样的函数 我想重构它 function Myfunction sUrl sFile String Boolean var GetData TFileStream begin Result False if the line bel
  • ComboBox.Sorted 发生了什么:= True;在德尔福 10.2 中?

    最近我的最后一个问题获得了 风滚草 徽章 我不确定是否应该问更多问题 但这里是 我正在填充一个TComboBox使用 sqlite 表中的项目 效果很好 在我以前的 Delphi 版本中 我能够使用ComboBox1 Sorted True
  • delphi定时器比定时器服务中断例程更快

    大家好 我被要求为某人维护一个基于 Delphi 5 的程序 该程序使用一个计时器对象每 50 毫秒计时一次 并且在每次计时结束时运行单线程代码块 我只是想知道 如果执行这段代码所花费的时间比计时器滴答间隔长 会发生什么 这会很糟糕吗 例如
  • 如何更新Delphi对象检查器?

    继我最近发布的这个问题之后 组件编辑器可以在多个组件上执行吗 https stackoverflow com questions 14802371 can a component editor be executed on multiple
  • 如何添加资源并使用它们

    在我的应用程序中 我想添加 2 个图像作为资源 我想使用这些图像 当我在应用程序中单击 是 按钮时 第一张图像将被设置为壁纸 当我在应用程序中单击 否 按钮时 第二张图像将被设置为桌面壁纸 提前致谢 regards 最简单的方法是创建一个文
  • 如何从具有管理员权限的应用程序接收键盘输入到非管理员应用程序?

    我编写了一个应用程序 该应用程序具有覆盖类型的窗口 可以通过热键显示和隐藏该窗口 而另一个应用程序具有焦点 所述另一个应用程序是一个以管理员权限运行的 DirectX 游戏 我已经尝试了 3 种可能的解决方案 以便在其他应用程序中按下我的热
  • 如何在 Vista 上安装 Delphi 7

    我多次尝试在 Vista 上安装 Delphi 7 但 Vista 告诉我此应用程序 Delphi 7 存在已知问题 从而阻止了我这样做 我公司的其他几个人在 Vista 上安装 D7 时遇到了问题 由此得出的结论是 我们的 D7 应用程序
  • 获取 TransactSql 批处理中的语句数计数

    对于不使用 Delphi 的读者 虽然以下内容是根据 Delphi 编码来表达的 但我的实际技术问题不是特定于 Delphi 的 而是关于如何找出 Sql Server 如何 理解 TransactSql 批处理提交给它 TAdoQuery
  • 加载 Jpg/Gif/Bitmap 并转换为 Bitmap

    我必须从 XML 文件加载图像 XML 文件中没有关于图像是否为 JPG GIF BMP 的信息 加载图像后 我需要将其转换为位图 有谁知道如何在不知道实际文件格式的情况下将图像转换为位图 我正在使用 Delphi 2007 2009 谢谢
  • 当显示对话框时淡出应用程序的所有其他窗口?

    如何在 Delphi 2009 中调暗 淡出应用程序的所有其他窗口 Form 有一个 AlphaBlend 属性 但它仅控制透明度级别 但如果我们能有这样的东西那就太好了 集中窗口 http www anappaday com downlo
  • 德尔福数据结构

    我可能需要在 Delphi 中做一个项目 并且是该领域的初学者 目前 我正在网上搜索资源 但由于资源站点太少而感到困惑 首先 你能给我一些好的网站 其中包含我迄今为止错过的 Delphi 资源吗 我也在 Delphi 中搜索数据结构 想知道
  • 当responseText包含有效的Xml时,IXMLHttpRequest.responseXml为空,没有解析错误

    我正在从中获取一些 XML政府网站 http www bankofcanada ca stats assets rates rss noon en all xml http www bankofcanada ca stats assets
  • 石和磅的格式正确吗?

    我有一个图表 用于显示重量 以英石和磅 lbs 为单位 该图表由记录中的数据填充 对于权重 数据类型为 Double 记录数据是在运行时编辑的 我需要知道一种正确格式化输入数据的方法 为了更好地理解 首先看一下这些示例值 它们表示为石和磅

随机推荐

  • 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中如何做到这一点 我相信这一定与样式书