c++ - trucos - Cómo pelar una aplicación Win32
trucos para pelar papa (3)
Win32 se ve desagradable, ¿cómo hacer que se vea mejor con máscaras personalizadas?
Me refiero a productos como Adobe, iTunes, Autodesk 3dsmax y Softimage XSI, Windows Media Player, Blender, el firewall de Comodo, Winamp, el cliente de Babylon y algunos administradores de descargas, etc.
hay muchas aplicaciones similares pero no encuentro ningún tutorial o guía adecuada, ¡parece una receta secreta!
solo -dos tutoriales disponibles en línea:
viejo e inútil: http://www.codeproject.com/Articles/20497/Draw-Skin-Window-Using-Pure-Win32-API
solo cubren el fondo opaco (y esto es lo que evito, necesito más información sobre los componentes de la GUI): http://www.flipcode.com/archives/Win32_Window_Skinning.shtml
¿Hay algún libro o guía adecuada para aprender a construir máscaras para Win32api?
Editar: Acepto el comentario de David Rodríguez, allá abajo ↓↓
Lo he hecho antes de usar C ++ Builder. El enfoque que tomé fue crear un formulario, configurarlo sin bordes y colorear todo el formulario del mismo color. Luego configuro la transparencia del formulario a este color. Luego agrego imágenes al formulario que crea la máscara deseada.
Estoy seguro de que todo esto se puede hacer a través de las API de victoria estándar, pero no puedo describir (o aconsejar) hacerlo únicamente a través de llamadas API.
Si no tiene miedo de aprender a usar programación SDK de bajo nivel, intente con este enlace: tome el control de su código de ventana
También haga una búsqueda en Google de WinLIFT.
El sistema operativo maneja "skinning" automáticamente.
En el modo "clásico" (o Windows 2000 y versiones anteriores), esto le proporciona una interfaz de aspecto clásico. Las ventanas se dibujan como siempre lo estuvieron desde Windows 95. Presumiblemente, esto es a lo que te refieres cuando dices que "Win32 se ve desagradable". Sin embargo, debe tener en cuenta que a muchas personas les gusta este aspecto y específicamente eligen habilitarlo en sus máquinas. [ADVERTENCIA: ¡La opinión personal se acerca!] Soy una de esas personas, y a juzgar por las capturas de pantalla que se publican aquí desde las máquinas de los desarrolladores, definitivamente no soy el único.
En realidad, Windows XP presenta el motor "skinning" o de tematización, que vive en un conjunto de archivos DLL de Windows. Al vincular explícitamente a la versión 6 de ComCtl32.dll , su aplicación obtendría automáticamente estos efectos visuales. Algunas personas dijeron que esta versión de Windows parecía "Fisher-Price" , mientras que otros estaban perfectamente contentos con el término "chillón". La opción se retuvo para permitir al usuario cambiar al tema "clásico" (como se describe arriba), si así lo desea.
Windows Vista revisó por completo el motor de simulación de Windows e introdujo una nueva interfaz de usuario conocida como "Aero". Esto proporciona ventanas y controles de aspecto llamativo, completos con efectos de transparencia, es decir, siempre que su tarjeta gráfica lo admita. De nuevo, al vincular explícitamente a la versión 6 de ComCtl32.dll, su aplicación automáticamente aplicaría todos estos estilos.
Vale la pena señalar que a través de todo esto, Microsoft ha proporcionado a los usuarios la capacidad de personalizar los colores (y las fuentes y otras cosas) utilizados en la interfaz de usuario. Por ejemplo, Aero está predeterminado en azul. Si no te gusta el azul, puedes cambiarlo. Cambio mis colores UI periódicamente por diversión y para volver a energizarme. Si no puede leer o no le gusta la fuente, la cambia también.
Por lo tanto, si eliges hacer algo diferente con tu aplicación, definir tu propia paleta de colores personalizada e ignorar las opciones elegidas por el usuario a través de la interfaz de personalización provista, tu aplicación se verá rota y sobresaldrá como un pulgar en el usuario. escritorio. Al diseñar una interfaz de usuario, lo último que desea hacer es ser o verse diferente.
En resumen, actualice su computadora a Windows Vista o posterior y habilite la interfaz Aero si lo desea. No anule al usuario ni intente dibujar todos sus controles personalizados. Simplemente terminará con una aplicación que es difícil de usar, no funciona como se esperaba, tiene un dolor en la parte trasera para mantenerse, y en general se ve peor que si simplemente lo hubiera dejado en paz.