Articles of aero glass

桌面图标操作 – 如何启用图片旋转主题时获取SysListView32的句柄

我试图在桌面上移动图标,一切都很好,直到select了图片旋转的主题。 使用基本的Windows 7主题, SysListView32是SHELLDLL_DefView子代,而SHELLDLL_DefView又是Progman 。 但是,当选取图片旋转桌面主题时, SysListView32变成SHELLDLL_DefView子WorkerW ,而SHELLDLL_DefView又变成了WorkerW子WorkerW 。 有超过1个。我应该如何去寻找正确的HWND指向正确的WorkerW 。 枚举所有的桌面窗口,并检查每个类名WorkerW? [DllImport("user32.dll", SetLastError = true)] static extern IntPtr GetWindow(IntPtr hWnd, GetWindow_Cmd uCmd); [DllImport("user32.DLL")] public static extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter, string lpszClass, string lpszWindow); [DllImport("user32.dll", SetLastError = true)] static extern IntPtr FindWindow(string lpClassName, string lpWindowName); enum GetWindow_Cmd : uint { GW_HWNDFIRST = 0, GW_HWNDLAST […]

用于所有Win32程序员的Windows Aero Glass(DWM,GDI,GDI +)绘图的文档和API示例

我正在寻找很好的资源来学习使用Win32 / GDI API,或者直接使用Win32 API绘制和绘制一个玻璃窗体。 当我使用Delphi时,我将其标记为Delphi或Visual C ++。 任何代码示例和文章,你可以find将不胜感激。 MSDN文章似乎并没有写这个。 作为一个目标,我们假设您想要:(a)重现Google Chrome的function(标签作为玻璃框架的一部分)(b)重现MS Office 2010的function(保存在玻璃框上的button,在MFC中为VS 2010,作为“快速访问工具栏”(见下图)。 我不使用MFC,但如果检查MFC源将是一个很好的信息来源,我很好奇知道哪里在MFC源或BCG原始来源(我都)实施快速访问工具栏渲染/绘画代码。 更新:下面的答案中的一个相关的neato链接显示了NC(非客户端)Paint消息,以及如何在玻璃框架上绘画时处理它,以及关于它的MSDN文章。

在无边框WPF窗口上启用Vista玻璃效果

我写了一个附加的属性,我可以在一个窗口上设置扩展到客户区(使用DwmExtendFrameIntoClientArea API)的玻璃框架。 它在大多数情况下工作正常。 现在我希望我的窗口是无边界的,所以我在窗口中设置了以下属性: WindowStyle="None" ResizeMode="NoResize" Background="Transparent" u:WinUtil.EnableGlass="True" ShowInTaskbar="False" 但是有了这些属性,玻璃根本不显示:我的窗户只是透明的背景。 如果我将ResizeMode设置为CanResize ,则会显示玻璃,但我不希望窗口可以resize。 我怀疑这是由于玻璃效果是通过将非客户端框架扩展到客户端区域获得的:使用WindowStyle = None和ResizeMode = NoResize ,没有非客户端框架,所以没有任何扩展。 当我启用大小调整时,它会在窗口周围创build一个框架,所以框架可以被扩展。 我想应该可以创build一个窗口,有一个薄边框,没有标题栏,并且不能resize,通过设置适当的WS_ *位,但我不知道哪一个确切 所以我的问题是: 应该设置或取消设置哪些样式位以获得所需的外观和行为? 我怎样才能初始化窗口的风格位? Window类似乎没有像Windows窗体CreateParams属性的东西…可以设置这些位创build句柄后? 我发现HwndSource类可能是问题2的答案,但如果您不是Win32专家,使用起来似乎有点复杂…这是否是我的问题的明智解决scheme? 任何build议是受欢迎的

自己的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更容易。