|
|
|
|
|
- Método 1: Utilizar eventos WLanguage asociados al control
- Método 2: Utilizar la función Event
¿Cómo aplicar un color a un control con foco?
No siempre es fácil identificar el cursor de texto en una ventana: a veces, no sabemos en qué control se está realizando la entrada. ¿Cómo resaltar el control en el que se realiza la entrada? Hay dos métodos disponibles: Método 1: Utilizar eventos WLanguage asociados al control - En el código de entrada del control, cambie el color de fondo y/o de los caracteres con las propiedades BackgroundColor y Color.
- En el código de salida del control, utilice el color del estilo predeterminado para el color de fondo y/o para el color de los caracteres con las propiedades BackgroundColor y Color utilizando la constante DefaultColor.
Ejemplo: // -- Entry in the control MySelf.BackgroundColor = DarkBlue MySelf.Color = White
// Loss of focus MySelf.BackgroundColor = DefaultColor MySelf.Color = DefaultColor
Inconveniente: Esta operación debe realizarse "manualmente" en cada control. Este método es conveniente si no se debe modificar un gran número de controles. Método 2: Utilizar la función Event La función Event permite interceptar los eventos de Obtención y Pérdida de foco en el proyecto o en cada ventana. Cada uno de los eventos debe estar asociado a un procedimiento WLanguage para cambiar el color o restaurar el color inicial. Ejemplo: - Código a introducir en el evento "Inicialización" del proyecto:
Event(ProcColor, "*.*", 7) // 7 = WM_SETFOCUS Event(ProcUncolor, "*.*", 8) // 8 = WM_KILLFOCUS
- Procedimiento global WLanguage llamado por la función Event (obtención de foco):
PROCEDURE ProcColor {_EVE.name, indControl}..BackgroundColor = DarkBlue {_EVE.name, indControl}..Color = White
- Procedimiento global WLanguage llamado por la función Event (pérdida de foco):
PROCEDURE ProcUncolor {_EVE.name, indControl}..BackgroundColor = DefaultColor {_EVE.name, indControl}..Color = DefaultColor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|