|
|
|
|
|
- Esta lección abarcará los siguientes temas
- Introducción
- Ejemplo práctico
- Eventos opcionales disponibles en WINDEV
- Eventos de Windows
- Ejemplo : Detectar el clic en un control List Box
Lección 7.5. Evento de Windows Esta lección abarcará los siguientes temas - Programación de eventos de Windows.
Cada acción realizada por Windows corresponde a un evento de Windows. Pueden ocurrir diferentes tipos de eventos, por ejemplo: - El cursor pasa por encima de una ventana,
- El sistema se detiene,
- Se muestra una ventana de diálogo,
- Un error de software,
- Etc.
Cuando se producen estos eventos, es posible interceptarlos para preparar o ejecutar un proceso específico. WINDEV puede gestionar automáticamente los eventos más comunes. Por ejemplo, los siguientes eventos están disponibles de forma predeterminada para los controles Campo de entrada: - Inicialización del control,
- Entrada en el control,
- Modificación del control,
- Salida del control.
Para utilizar eventos adicionales, es posible: - utilizar los eventos opcionales disponibles en WINDEV.
- utilizar los eventos de Windows.
Ejemplo práctico La gestión de eventos se presentará a través del ejemplo unitario "The Event function". - Abra el ejemplo unitario "The Event function".
Eventos opcionales disponibles en WINDEV WINDEV incluye varios eventos opcionales para cada elemento (ventana, control, etc.). - Para añadir un evento opcional:
- Abra los eventos WLanguage asociados al control List Box en la ventana del ejemplo unitario:
- Seleccione el control List Box.
- Presione F2.
- El editor de código se abre.
- Haga clic en el enlace "Agregar otros eventos...":
- La lista completa de los eventos opcionales disponibles se abre:
- Para añadir un evento, simplemente seleccione la casilla correspondiente y valide la ventana. Por ejemplo, agregue el evento "Tecla pulsada" y valide la ventana.
Para añadir eventos más "específicos", puede utilizar la función Event de WLanguage. La función Event permite asociar un procedimiento WLanguage a un evento de Windows. | | |  | Nota | Para utilizar la función Event, debe estar familiarizado con la programación de Windows, especialmente con los eventos de Windows. |
Para obtener la lista (no exhaustiva) de eventos de Windows, consulte Valor de las constantes de la API de Windows de 32 bits. Ejemplo : Detectar el clic en un control List Box - Pruebe la ventana "WIN_Event_Function". Esta ventana detecta si el control List Box se manipula con el ratón o con el teclado.
- Haga clic en el control List Box.
- Use el ratón para mover la banda de selección.
- Un mensaje aparece indicando si se utilizó el ratón o el teclado.
- Detenga la prueba y vuelva al editor.
- Veamos el código utilizado:
- Haga clic en la ventana.
- Abra los eventos de la ventana (pulse F2).
- Veamos el evento "Declaraciones globales" de "WIN_Event_Function".
- Primero, la siguiente línea de código:
Esta línea de código permite incluir el contenido del archivo WINCONST.WL en el código de la aplicación mediante la palabra clave EXTERN. Este archivo contiene la declaración y los valores de las constantes de Windows. Durante la compilación, el código del archivo WINCONST.WL se incluirá automáticamente en el código de la aplicación. - A continuación, se declaran todos los eventos admitidos:
// Events on the LIST_Months control // Keyboard key down Event(MouseOrKeyboard, LIST_Months.FullName, WM_KEYDOWN) // Left mouse click Event(MouseOrKeyboard, LIST_Months.FullName, WM_LBUTTONDOWN)
El procedimiento MouseOrKeyboard se llama cuando se utiliza el teclado en el control List Box (evento de Windows correspondiente: WM_KEYDOWN) o cuando se pulsa el botón izquierdo del ratón (evento de Windows correspondiente: WM_LBUTTONDOWN).
- El procedimiento MouseOrKeyboard es un procedimiento interno. El código de este procedimiento se encuentra justo después del evento "Declaraciones globales". Este código es muy sencillo:
- Si se utiliza el teclado, el texto que aparece debajo del control List Box contiene "Selection with the keyboard".
- Si se utiliza el ratón, el texto que aparece debajo del control List Box contiene "Selection with the mouse".
INTERNAL PROCEDURE MouseOrKeyboard() // The _EVE.wMessage variable contains the message number SWITCH _EVE.wMessage // Keyboard CASE WM_KEYDOWN // Message indicating that the keyboard is used STC_SelectionType = "Selection with the keyboard" STC_SelectionType.Color = LightRed // It's the mouse CASE WM_LBUTTONDOWN // Message indicating that the mouse is used STC_SelectionType = "Selection with the mouse" STC_SelectionType.Color = LightBlue END
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|