Devildrey33 Windows Library
Categorías : Windows, Programación, C y C++.

Esta librería es la base para la mayoría de aplicaciones desarrolladas por Josep Antoni Bover. Fue creada en el año 2002 ante la necesidad de tener controles fuera del look estandar de windows xp, y tambien para facilitarme la vida a la hora de crear aplicaciones bajo windows.
En los tiempos actuales en los que ya se va normalizando el uso de Windows 7 y windows xp va desapareciendo, esta libreria ha empezado a perder su utilidad. Pero de todas formas es un excelente ejemplo de como programar desde cero controles como el ListView, TreeView, PopupMenu, Button, etc... sin utilizar nada de los controles estandar de windows.
Se podria decir que el estilo a la hora de controlar eventos es bastante parecido al MFC, y personalmente me ha servido para aprender muchisimo sobre el API de windows.
DWLArbolEx

Control que simula un TreeView de windows, con algunas particularidades :
- Scrolls propios completamente personalizables en apariencia.
- Posibilidad de añadir botones en las barras de scroll.
- SubSeleccion (cuando seleccionamos un nodo padre, todos los hijos quedan SubSeleccionados).
- Posibilidad de añadir una imagen de fondo, y que quede translucida debajo de los nodos.
- Colores de los nodos totalmente personalizables de forma individual (Fondo y Texto : Normal, Resaltado, Seleccionado, SubSeleccionado, Presionado. ademas del Borde.)
- Efectos de resaltado tanto en los nodos como en el borde del control, como en los scrollbars.
- Fuentes independientes para cada nodo, utilizando HFONTS previamente cargados en memoria.
- Funciones virtuales que permiten re-emplazar practicamente cada fase de pintado.
Por el contrario tambien tiene algunas funciones que no fueron programadas en ningun momento :
- Drag & Drop
- Funciones mas complejas del teclado, por ejemplo si presionamos la tecla 'a' el DWLArbolEx selecciona el primer nodo que encuentra que empieza por la 'a', pero si deseamos buscar una palabra con mas de una letra, no lo reconocera y buscara el nodo que empieze por la ultima tecla que el usuario haya presionado.
DWLListaEx

Control que simula un ListView de windows, con algunas particularidades :
- Scrolls propios completamente personalizables en apariencia.
- Posibilidad de añadir botones en las barras de scroll.
- Posibilidad de añadir una imagen de fondo, y que quede translucida debajo de los items.
- Colores de los nodos totalmente personalizables de forma individual (Fondo y Texto : Normal, Resaltado, Seleccionado, SubSeleccionado, Presionado. ademas del Borde.)
- Efectos de resaltado tanto en los items como en el borde del control, como en los scrollbars.
- Fuentes independientes para cada item, utilizando HFONTS previamente cargados en memoria.
- Funciones virtuales que permiten re-emplazar practicamente cada fase de pintado.
Por el contrario tambien tiene algunas funciones que no fueron programadas en ningun momento :
- Drag & Drop
- Funciones mas complejas del teclado, por ejemplo si presionamos la tecla 'a' el DWLListaEx selecciona el primer nodo que encuentra que empieza por la 'a', pero si deseamos buscar una palabra con mas de una letra, no lo reconocera y buscara el nodo que empieze por la ultima tecla que el usuario haya presionado.
DWLMenuEx

Control que simula un PopupMenu de windows, con algunas particularidades :
- Iconos de 16*16 en contra de los iconos de 12*12 por defecto de windows.
- Cada menu tiene su titulo.
- Colores totalmente configurables independientes por cada menuitem / submenu (FondoSeleccionado, TextoNormal, TextoResaltado, TextoPresionado).
- Fuentes totalmente configurables independientes para cada menuitem/ submenu con HFONTS previamente cargados en memoria.
- Integracion como menu del sistema para la aplicacion (En sistemas operativos como WindowsXP cuando se pulsaba en la barra de tareas el icono de la aplicacion con el boton derecho, esto hacia que mostrara el menu del sistema para la aplicacion. Actualmente en windows 7 esto ya no ocurre).
- Integracion con los comandos comunes como el SC_CLOSE, SC_MINIMIZE, SC_MAXIMIZE, SC_MOVE y SC_RESTORE
- Creacion dinamica de las ventanas requeridas para cada menu / submenu en tiempo real, de forma que el consumo de recorsos mientras no esten visibles sea minimo.
Por el contrario tiene algunos problemas con el foco cuando se usa Alt+Tab y el menu esta visible.
Aparte de estos tres controles tiene varios mas como una barra de progreso / desplazamiento, un boton, una combo que se puede convertir en una lista de unidades de disco para buscar un directorio, un checkbox, y un cuadro de edicion (que no funciona muy bien).
Puedes ver mas sobre la DWL en el siguiente enlace : Documentación de la DWL (doxygen).