War*_* P 7 delphi firemonkey delphi-xe3
我之前在Delphi XE2时间框架中问过这个问题,然后答案是一个非常丑陋的黑客.
根据官方发布的说明,现在Delphi XE3支持非客户端主题.你如何在Firemonkey FM2中的Delphi XE3中做到这一点?
我认为它必须与风格书有关,但我无法弄明白.表单本身有一个"EnableBorderStyling"属性,我设置为true,我想我必须加载包含一些非客户主题数据的样式,但我找不到包含它的样式.
帮助与此主题无关.
Update2好吧,它没有被破坏,只是因为我没有包含这个样式元素的样式(正如RRUZ所说).
procedure TForm1.FormShow(Sender: TObject);
begin
StyleBook := StyleBook1;
WindowBorder.UpdateStyle;
end;
Run Code Online (Sandbox Code Playgroud)
Update3:样式文件似乎位于两个不同的位置,这令人困惑:
C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\Redist\styles\Fmx
C:\Users\Public\Documents\RAD Studio\10.0\Styles
Run Code Online (Sandbox Code Playgroud)
请注意,我在任一点上都没有Luna.Style(firemonkey样式),但使用样式编辑器工具只需5秒.(打开,另存为,并将类型更改为.Style,我有一个!)
UPDATE4:RRUZ的答复工作,但我的系统(Windows 8 RTM)的非客户端的风格不看的权利,他们周围的地区白角on't完全绘制.调整窗口大小使它消失,我很清楚我应该能够强制使用WM_NCREPAINT或其他东西,然后让它消失.
要设置Firemonkey应用程序的非客户区域的样式,所选样式必须windowborderstyle定义一个 元素(如图所示)

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

| 归档时间: |
|
| 查看次数: |
2411 次 |
| 最近记录: |