Articles of aero

Windows Aero:绘制“玻璃”的颜色是什么颜色?

我必须在客户区涂上什么颜色才能使玻璃出现? 我已经把我的表单框架扩展到客户区使用: DwmExtendFrameIntoClientArea(self.Handle, margins); 我找不到任何官方文档从微软的DWM将寻找什么颜色和/或阿尔法replace玻璃。 DwmExtendFrameInClientArea文档甚至没有提到自定义颜色是必需的。 只有传闻和神话,甚至需要特殊的颜色。 我能find的最接近MSDN的话题是: 使用DWM自定义窗口框架 为了使扩展帧可见,每个扩展帧边下的区域必须具有α值为0的像素数据。 更新:和一个博客文章: 面向开发人员的Windows Vista – 第3部分 – 桌面窗口pipe理器 偶尔,RGB黑色(0x00000000)的位模式与100%透明ARGB的位模式相同,因此您可以使用“黑色”GDI笔刷进行绘制,并假设您已经指示DWM模糊绘制区域,结果将是所需的玻璃效果。 如果我从字面上理解( alpha值为零的像素数据 ),我构build一个零alpha的颜色,并在扩展区域绘制: Color fillColor = Color.FromArgb(0, 0, 0, 0); //(a, r, g, b) e.Graphics.FillRectangle(new SolidBrush(fillColor), e.ClipRectangle); 但玻璃效果不会出现: 替代文字sof/windows/anlmd4.png 如果我忽略引用的MSDN主题,而是使用完全不透明的黑色(而不是完全透明的黑色): Color fillColor = Color.FromArgb(255, 0, 0, 0); //(a, r, g, b) e.Graphics.FillRectangle(new SolidBrush(fillColor), e.ClipRectangle); 玻璃效果确实出现: 替代文字sof/windows/2ug2ias.png 那么我就会相信不透明的黑色是DWM将用玻璃代替的像素值。 […]

如何在Windows 7 Aero任务预览中创build自己的控件?

我有两个有关Windows 7任务预览的问题。 在Delphi中,我想在下面的屏幕截图中突出显示的区域内创build自己的button。 1)是否有可能在任务预览窗口(在Windows 7中)创build我自己的控件,如Winamp可以做的? 或者这只是一些有限的多媒体扩展? 2)如果可以绘制自己的button,我应该从哪里开始? 示例或Windows API指南对我有帮助。 非常感谢

WPF:使窗口不可调整,但保持框架?

我有一个没有标题栏的窗口( WindowStyle == WindowStyle.None )。 整个窗口使用Aero玻璃效果。 当我使窗口不可调整( ResizeMode == ResizeMode.NoResize )时,玻璃效果消失,我的控件只能在半空中悬挂。 (本质上,窗口本身消失,但留下内容。) 有没有办法让窗户变得不可调整,而不是摆脱窗框? 我已经阅读了在无边框WPF窗口上启用Vista玻璃效果的问题,但这不是我想要的 – 我想保持窗口边框。 对于我希望我的窗口看起来像的例子,点击启用了Aero的Alt + Tab。 为了澄清, 我不想让鼠标hover在窗口边框上时显示resize的游标 。 这实际上是我希望我的窗口看起来像: 投影机http://img.zgserver.com/c%23/2mg4jty.png 解决scheme不一定是严格的WPF – 我很好,用Win32 API来实现这一点。

自己的C#应用​​程序中的Windows Aero区域

我想知道很多新的应用程序,我认为这些应用程序大部分都是使用WPF构build的,它具有非常酷的Windows Aero Glass界面。 例如Seesmic或即将推出的Firefox 3.7 http://crenk.com/wp-content/uploads/2010/04/firefox3.7.jpg http://crenk.com/wp-content/uploads/2010/04/firefox3 .7.jpg 大多数时间在互联网上search它看起来像你需要一个黑客来实现这一点。 但是严肃的说:我不认为大的软件开发团队使用黑客来推出他们巨大的二手产品。 所以我的问题是: Windows Aero Glass Areas – 如何做? 只有黑客可能吗? 也许这只是一个财产,我不知道。 我是WinForms开发人员,所以我从来没有testing过WPF。 但我的谷歌search看起来不像WPF更容易。

预览窗口后面屏幕状态的Aerofunction是什么?

我到处看看如何在我的程序中使用Aero。 我没有find任何预览你自己的窗口的C函数,比如文件浏览器或任何主stream浏览器在它们的标题栏上。 有些程序是通过添加一个看起来像Windows 7标题栏的图像来伪装的 – 没有Aero,但是我认为这是一种欺骗行为。 我在下面的链接中find了这个代码: [DllImport ("dwmapi.dll" Entry Point = "# 113", SetLastError = true)] internal static external DwmpActivateLivePreview uint (uint a, IntPtr b, uint c, uint d); [DllImport ("dwmapi.dll" Entry Point = "# 105", SetLastError = true)] internal static bool external DwmpStartOrStopFlip3D (); // Activate Aero peek into the desired Handle DwmpActivateLivePreview […]

我想在特定的航空窗口上禁用阴影效果

我想在特定的航空窗口上禁用阴影效果。 我所拥有的就是这个窗口的HWND,这可能吗?