Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
所有Win32程序员在Windows Aero Glass(DWM、GDI、GDI+;)上绘图的文档和API示例_Windows_Delphi_Visual C++_Windows 7_Aero Glass - Fatal编程技术网

所有Win32程序员在Windows Aero Glass(DWM、GDI、GDI+;)上绘图的文档和API示例

所有Win32程序员在Windows Aero Glass(DWM、GDI、GDI+;)上绘图的文档和API示例,windows,delphi,visual-c++,windows-7,aero-glass,Windows,Delphi,Visual C++,Windows 7,Aero Glass,我正在寻找学习使用Win32/GDIAPI或任何替代它的东西的好资源,以便直接使用Win32 API绘制玻璃窗体 当我使用Delphi时,我把它标记为Delphi或Visual C++。如果您能找到任何代码示例和文章,将不胜感激。MSDN的文章似乎并没有写这方面的内容 作为一个目标,让我们设想您想要: (a) 复制Google Chrome的功能(标签作为玻璃框架的一部分) (b) 重现MS Office 2010的功能(玻璃框上的保存按钮,在VS 2010的MFC中称为“快速访问工具栏”(参见

我正在寻找学习使用Win32/GDIAPI或任何替代它的东西的好资源,以便直接使用Win32 API绘制玻璃窗体

当我使用Delphi时,我把它标记为Delphi或Visual C++。如果您能找到任何代码示例和文章,将不胜感激。MSDN的文章似乎并没有写这方面的内容

作为一个目标,让我们设想您想要: (a) 复制Google Chrome的功能(标签作为玻璃框架的一部分) (b) 重现MS Office 2010的功能(玻璃框上的保存按钮,在VS 2010的MFC中称为“快速访问工具栏”(参见下图)

我没有使用MFC,但如果检查MFC源是一个很好的信息源,我很想知道MFC源或BCG原始源(我都有)在哪里实现了快速访问工具栏渲染/绘制代码

更新:下面答案之一的相关neato链接显示了NC(非客户端)绘制消息,以及在玻璃框架上绘制时如何处理它,以及一篇有关它的MSDN文章。

我相信您已经找到了。它有许多主题和一些示例。其中的一些“概述”文章有示例(如)

不幸的是,除了文档之外,很少有好文章。你可以从a开始,然后看一看,直接使用文档中的函数并不太糟糕。幸运的是,它们在实践中都非常简单。

在Vista/Windows 7下绘制自定义标题栏可能会让你感兴趣

示例图像:


此外,这些旧文章可能会帮助您:

这是我的“Glass”书签文件夹的一个子集,是关于这个主题的大量研究/搜索的结果。我发现所有这些对于学习Glass和利用Glass解决各种问题都很有用。其中大多数都包括Delphi代码,但我注意到它在另一种语言中的位置

普通玻璃链环
  • :在Delphi表单中使用Glass的良好介绍(从最基本的方面)
  • :介绍如何在窗口的玻璃区域绘制位图或其他图像。还介绍alpha通道等,概述良好
  • :包括打开玻璃、绘制文本、处理通知等-这是对其工作原理的一个很好的一般性介绍。VCL处理了很多底层细节(例如和TForm内部处理了很多),但了解如何在API级别实现它的基础知识非常有用
  • :这显示了如何在标题栏中绘制类似Office工具栏的东西。.Net代码,但可翻译
  • :关于非客户端区域绘图的非常详细的文章(在Delphi中,所以是Delphi代码)。接下来是,它演示了完全接管整个窗口并自己模拟标准标题栏。这两篇文章将让您模拟Office和Chrome,正如您在问题中所要求的那样
  • :VCL不能很好地支持玻璃。无论您如何尝试解决它,您经常会得到工件或控件根本无法正确绘制。本文列出了基本的VCL视觉组件(标签、按钮、进度条等)以及为每一个设置什么,以便它们完美地绘制,或者当它们被放置在玻璃区域时,至少“尽可能好”
高级的,或与之相关的:
  • (只有部分与航空相关)

    • 玻璃组件的良好网站,包括玻璃按钮: