加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 10:13:14 所属栏目:大数据 来源:网络整理
导读:我之前在Delphi XE2时间框架中问过这个问题,那么答案就是 ugly hack. 根据官方发布的说明,现在Delphi XE3支持非客户端主题.你如何在Firemonkey FM2的Delphi XE3中做到这一点? 我认为它必须与风格书有关,但我无法弄明白.表单本身有一个“EnableBorderStyling
我之前在Delphi XE2时间框架中问过这个问题,那么答案就是 ugly hack.

根据官方发布的说明,现在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)EmbarcaderoRAD Studio10.0RediststylesFmx        
  C:UsersPublicDocumentsRAD Studio10.0Styles

请注意,我在任一点都没有Luna.Style(firemonkey样式),但使用样式编辑器工具则为5秒. (打开,另存为,并将类型更改为.Style,我有一个!)

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

解决方法

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

从delphi附带的样式中尝试Luna.Style

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读