Alegrando la vista a nuestras aplicaciones

Noviembre 22nd, 2006

En las aplicaciones de gestión normalmente se debe mostrar de forma clara cual control de entrada de datos tiene el foco. Hay varias maneras de llamar la atención del usuario al control con el foco. Las más habituales son las de cambiar al color del fondo del control edit. Pero, para mi gusto, cuando el usuario marca una parte de texto se ven varios colores en el mismo control.

Hasta que vi el escritorio Gnome y me gustó mucho. La idea es hacer que el marco del control edit cambie de color cuando tenga el foco. Xailer facilita enormemente la tarea de personalizar nuestros controles o clases. Con las técnicas de la jerarquía de clases X y T podemos modificar aquello que nos interese sin que por ello tengamos que preocuparnos de la clase original.

Bueno… el resultado es este

Cantos redondeados en los controles EDIT

Y el código para conseguir ese efecto está en este proyecto de Xailer. Fijaros en como se sobreescribe la clase tEdit, concretamente el método WMNCPAINT. Si lo quereis incorparar a vuestros proyectos Xailer solo teneis que ‘cortar’ y ‘pegar’ ese código. Así de simple. Si tenemos algo de conocimiento del API de Windows fácilmente podemos cambiar esos cantos rectos por otros redondeados usando, por ejemplo, la función RoundRect. También, aprovechando que sobreescrimimos el control, podemos cambiar el comportamiento por defecto del mismo. Por ejemplo, podemos hacer que el color de fondo del control edit cuando tiene el foco sea otro cambiando la propiedad nClrPaneFocus. Se haría en la definición de la clase de esta manera:

PROPERTY nClrPaneFocus INIT RGB( 255, 55, 255 )

Bueno… el resto es para vosotros ;-) Os dejo… Salud!
PD: el código es íntegramente de José F. Giménez. Gracias José !!!

Entrada clasificada en: Técnico

4 Comentarios

  • 1. mario  |  Noviembre 23rd, 2006 at 9:07 am

    Si tanto te gusta Gnome, pásate a Linux, ánimo.

  • 2. José Luis Capel  |  Noviembre 23rd, 2006 at 2:33 pm

    Mario…

    Uso ambos… uso ambos…

    Saludos.

  • 3. PEDRO DE LEON RODAS  |  Noviembre 26th, 2006 at 6:43 am

    HOLA QUE TAL, DESDE MEXICO.

    ESTOY EMPEZANDO A PROGRAMAR CON XAILER

    QUISIERA PEDIRLES QUE ME APOYEN CON UN EJEMPLO
    ¿ COMO PUEDO LOCALIZAR UN REGISTRO POR MEDIO DE UN ORDEN DE INDICE?

    DE ANTEMANO GRACIAS

  • 4. José Luis Capel  |  Noviembre 26th, 2006 at 9:23 am

    Hola Pedro…

    Te animo a que leas y participes en el foro de noticias de Xailer: news.xailer.com Allí podrás obtener la ayuda que te sea precisa.

    Saludos


Calendario

Septiembre 2010
L M X J V S D
« Oct    
 12345
6789101112
13141516171819
20212223242526
27282930  

Articulos recientes

blogs