theme para glass descargar aeroglass windows delphi visual-c++ windows-7 aero-glass

descargar - Documentación y ejemplos de API para dibujar en Windows Aero Glass(DWM, GDI, GDI+) para todos los programadores de Win32



Estoy buscando buenos recursos para aprender a usar las API de Win32 / GDI o lo que sea que lo sustituya para dibujar y pintar directamente utilizando la API de Win32 en un formato de vidrio.

Mientras uso Delphi, etiqueté esto como Delphi o Visual C ++. Se apreciará cualquier ejemplo de código y artículos que pueda encontrar. Los artículos de MSDN no parecen estar escritos sobre esto.

Como objetivo, imaginemos que desea: (a) Reproducir lo que hace Google Chrome (pestañas como parte del marco de cristal) (b) Reproducir lo que hace MS Office 2010 (botón Guardar en el marco de cristal, al que se hace referencia en MFC para VS 2010, como "Barra de herramientas de acceso rápido" (ver imagen a continuación).

No estoy usando MFC, pero si examinar las fuentes de MFC sería una buena fuente de información, tengo curiosidad por saber dónde en las fuentes de MFC o en las fuentes originales de BCG (tengo ambas) se implementa el código de renderizado / pintura de la barra de herramientas de acceso rápido.

Actualización: un enlace neato relacionado de una de las respuestas a continuación muestra el mensaje de pintura NC (no cliente), y cómo manejarlo al pintar sobre un marco de vidrio, y un artículo de MSDN al respecto aquí .


Estoy seguro de que ha encontrado la página de MSDN sobre DWM . Ha saltado muchos temas y algunos ejemplos. Algunos de los artículos de "descripción general" tienen ejemplos (como el resumen de DWM Blur Behind ).

Lamentablemente, aparte de la documentación, hay muy pocos artículos buenos. Puede comenzar con Usar vidrio en el proyecto de código y observar un cristal detector en Delphi ; luego, usar las funciones directamente desde el documento no es tan malo. Afortunadamente, todos son bastante sencillos en la práctica.


Este es un subconjunto de mi carpeta de marcadores "Glass", el resultado de una gran cantidad de investigación / búsqueda sobre este tema. Encontré que todo esto es útil para aprender sobre el vidrio y resolver varios problemas que se basan en él. La mayoría de estos incluyen código Delphi, pero he notado dónde está para otro idioma.

Enlaces de vidrio plano

  • Usar ventanas translúcidas con Delphi : buena introducción (desde lo básico) para usar el vidrio en formas Delphi
  • Dibujo personalizado sobre vidrio : explica cómo dibujar un mapa de bits u otra imagen en un área de vidrio de la ventana. Cubre alfa canales, etc. también, buena visión general
  • Usar vidrio en un proyecto de VC ++ : cubre encender el vidrio, dibujar texto, manejar notificaciones, etc., una buena introducción general a cómo funciona. Muchos de los detalles subyacentes son manejados por el VCL (por ejemplo, la propiedad GlassFrame y los elementos internos de TForm se ocupan de mucho de esto), pero de todos modos es muy útil comprender los conceptos básicos de cómo se implementa a nivel de API.
  • Cómo dibujar en el área no cliente : esto muestra cómo dibujar algo así como la barra de herramientas de Office en la barra de título. .Código de red, pero traducible
  • Configuración de una barra de título personalizada : artículo muy detallado sobre dibujo de área no cliente (en Delphi, código Delphi). Seguido por la parte 2 , que demuestra que se apodera completamente de la ventana completa e imita la barra de título estándar usted mismo. Estos dos artículos te permitirán imitar Office y Chrome tal como lo solicitaste en la pregunta
  • Cómo configurar varios controles VCL para que funcionen mejor en un área de vidrio : el VCL no es muy compatible con el vidrio. A menudo obtendrá artefactos o controles que simplemente no se dibujarán correctamente, sin importar lo que haga para intentar resolverlos. Este artículo enumera los componentes visuales básicos de VCL (etiquetas, botones, barras de progreso, etc.) y qué configurar para cada uno de ellos para que dibujen perfectamente, o al menos "lo mejor posible" cuando se colocan en un área de vidrio.

Avanzado, o tangencialmente relacionado:


Estas publicaciones sobre cómo dibujar una barra de título personalizada en Vista / Windows 7 pueden interesarle.

Imagen de muestra: