【问题标题】:How do I create a window with different Aero glass frame?如何创建具有不同 Aero 玻璃框架的窗户?
【发布时间】:2011-09-21 05:16:55
【问题描述】:

我认为Windows 7 中有自定义窗口样式。像这样:

正如您所见,它与普通风格不同:

如何创建一个具有您在第一张图片中看到的样式的窗口?

【问题讨论】:

  • 抱歉,我投票决定关闭,因为我不明白您想要制作一个程序 来创建第一个窗口。唉,我不能取消那次投票。
  • 我希望您将需要 DwmExtendFrameIntoClientArea 和一些自定义绘画。我自己没有这方面的经验(有据可查,我是一个普通的普通人)。这篇著名的文章涵盖了玻璃上的非客户绘画:delphihaven.wordpress.com/2010/04/19/…
  • 你要什么?你的意思是Windows主题颜色被忽略,窗口标题不透明?

标签: delphi windows-7 coding-style window aero-glass


【解决方案1】:

什么德尔福版本? Delphi 2010 本机可以做到这一点:

您只需要使用表单的GlassFrame 属性。您可能还想在这里阅读我的答案,并确保您也阅读了 cmets:Delphi support for Aero Glass and the DoubleBuffered property - what is going on and how do we use them?

【讨论】:

  • @Kermia,如果您在谈论我的“Delphi 2010 可以本地执行此操作”图像,它背后没有代码:它只是 Delphi 2010 上的一个表单,GlassFrame.Enabled = TrueGlassFrame.Top = 120.
  • @Johan,抗锯齿文本和颜色键不能很好地协同工作,更不用说颜色键是 黑色。对于 The Brave,我猜正确的方法是使用 UpdateLayeredWindow,但我曾经去过那里,这是一个痛苦的世界。因为分层窗口不喜欢用户输入。
  • 哦,好的。是否可以为放置在玻璃框窗口中的控件设置阴影?
  • 不,没有自动的方式给控件一个阴影;但是你可以在控件后面放置一个类似阴影的半透明图像来模拟它。
【解决方案2】:

那些事情是用玻璃成分颜色来完成的。

看这里:Changing the glass composition color (DWM) using delphi

【讨论】:

  • 我正在输入类似的内容。 你只是快一点。 +1。您可能需要编辑提及,在 D2009-XE 中,您只需单击表单,然后在 Object Inspector 中将 GlassFrame.Enabled 属性设置为 true 即可立即完成大部分操作。
  • 注意,博文中提到的未记录的 DWM 功能会系统范围持续更改组合颜色。即使重新启动后它仍然保持不变!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 2011-05-14
  • 2010-11-28
  • 2011-05-05
  • 1970-01-01
  • 2011-03-21
相关资源
最近更新 更多