如何创建具有不同 Aero 玻璃框架的窗户?
Posted
技术标签:
【中文标题】如何创建具有不同 Aero 玻璃框架的窗户?【英文标题】:How do I create a window with different Aero glass frame? 【发布时间】:2011-09-21 05:16:55 【问题描述】:我认为Windows 7
中有自定义窗口样式。像这样:
正如您所见,它与普通风格不同:
如何创建一个具有您在第一张图片中看到的样式的窗口?
【问题讨论】:
抱歉,我投票决定关闭,因为我不明白您想要制作一个程序 来创建第一个窗口。唉,我不能取消那次投票。 我希望您将需要 DwmExtendFrameIntoClientArea 和一些自定义绘画。我自己没有这方面的经验(有据可查,我是一个普通的普通人)。这篇著名的文章涵盖了玻璃上的非客户绘画:delphihaven.wordpress.com/2010/04/19/… 你要什么?你的意思是Windows主题颜色被忽略,窗口标题不透明? 【参考方案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
= True
和GlassFrame.Top
= 120
.
@Johan,抗锯齿文本和颜色键不能很好地协同工作,更不用说颜色键是 黑色。对于 The Brave,我猜正确的方法是使用 UpdateLayeredWindow,但我曾经去过那里,这是一个痛苦的世界。因为分层窗口不喜欢用户输入。
哦,好的。是否可以为放置在玻璃框窗口中的控件设置阴影?
不,没有自动的方式给控件一个阴影;但是你可以在控件后面放置一个类似阴影的半透明图像来模拟它。【参考方案2】:
那些事情是用玻璃成分颜色来完成的。
看这里:Changing the glass composition color (DWM) using delphi
【讨论】:
我正在输入类似的内容。GlassFrame.Enabled
属性设置为 true 即可立即完成大部分操作。以上是关于如何创建具有不同 Aero 玻璃框架的窗户?的主要内容,如果未能解决你的问题,请参考以下文章