Eventos en C++

Eventos en C++
Información sobre la plantilla
C++.png
Concepto:Un evento es una señal, interna o externa a la aplicación, que nuestro programa puede aprovechar para ejecutar un cierto bloque de código, el cual escribiremos en un método.

Eventos en C++: Todos los componentes tienen asociado un evento por defecto, que será el que se utiliza con mayor frecuencia en dicho componente. Para acceder al código del método de respuesta a este evento, bastará con hacer doble clic sobre el componente.

Como acceder a otros eventos

Sólo existe un evento por defecto para cada componente, por lo que para acceder al resto de eventos tendremos que utilizar la página Events del Inspector de Objetos. Al abrirla podremos ver el nombre de todos los eventos posibles para el componente seleccionado en ese momento. Haciendo doble clic sobre la columna derecha de un evento, en la ventana de código aparecerá el método de respuesta correspondiente. En él podremos insertar las sentencias que deseemos.

Eventos generados por el ratón

  • OnMouseMove: Este evento es recibido por un componente a medida que el cursor del ratón se mueve sobre él. Lleva asociados varios parámetros, como son X e Y, que representan la posición actual del cursor expresada en puntos y Shift, un conjunto que informa de las teclas y botones que están pulsados mientras el ratón se mueve y que puede contener los valores siguientes:
ssShift Una de las teclas mayúsculas
ssAlt La tecla ALT
ssCtrl La tecla Ctrl
ssRight El botón derecho del ratón
ssLeft El botón izquierdo del ratón
ssMiddle El botón central del ratón
ssDouble Los botones izquierdo y derecho del ratón
  • OnMouseDown: Se genera cuando se pulsa cualquiera de los botones del ratón. Además de los parámetros X, Y y Shift, ya conocidos, el método de respuesta a este evento también recibirá el parámetro Button, que nos permitirá saber qué botón ha sido el que ha producido el evento. Los valores posibles son mbRight, mbLeft y mbMiddle.
  • OnMouseUp: Cada vez que se libera un botón del ratón sobre un componente, éste recibe el evento OnMouseUp, con parámetros idénticos al evento.
  • OnClick: Este evento se genera cuando se realiza una pulsación sobre el botón izquierdo del ratón. A veces puede venir producido por la pulsación de la barra espaciadora o la pulsación de la tecla INTRO o ESCAPE, según las características del componente.
  • OnDblClick: Este evento se genera cuando se realizan dos pulsaciones sobre el botón izquierdo del ratón.

Eventos de teclado

  • OnKeyDown: Se produce al pulsarse una tecla, cuyo código es facilitado por el parámetro Key. También recibe el parámetro Shift, mediante el cual podremos saber si hay pulsadas otras teclas o botones de ratón.
  • OnKeyUp: Este evento se genera al liberar una tecla. Recibe los mismos parámetros que el evento anterior.
  • OnKeyPress: A diferencia de lo que ocurre con OnKeyDown, que se genera con cualquier tecla, ya sea de función, alfanumérica o de control, este evento sólo se produce por la pulsación de las teclas normales, excluyendo todas aquellas que no disponen de un código ASCII. El parámetro Key informa precisamente del código ASCII de la tecla pulsada.

Otros Eventos de un formulario

  • OnCreate: genera cuando el formulario va a ser creado.
  • OnActivate: genera cuando el formulario se convierte en la ventana activa en el entorno.
  • OnShow: genera antes de que un formulario se haga visible.
  • OnHide: genera justo antes de que el formulario sea ocultado.
  • OnDesactivate: genera cuando el formulario se vuelve inactivo porque se haya cambiado a otra ventana de la aplicación.
  • OnClose: generará antes de realizar el cierre de la ventana y recibe como parámetro una variable llamada Action a la que se le podrá asignar cualquiera de los siguientes valores, según deseemos permitir o no el cierre:
caFree El formulario es cerrado
caMinimize El formulario no se cierra, sólo se minimiza
caHide El formulario no se cierra, se oculta
caNone No se permite el cierre del formulario
  • OnCloseQuery: Se genera cuando se va a cerrar la ficha, recibiéndose como parámetro la variable CanClose, a la que daremos el valor true o false, dependiendo de que se permita o no dicho cierre.
  • OnDestroy: Se produce cuando se va a liberar la memoria ocupada por el formulario tras su cierre.
  • OnEnter y OnExit: A medida que los distintos componentes de un formulario se van haciendo activos e inactivos, por el desplazamiento entre ellos, se irán generando estos dos eventos. OnEnter llegará al componente que se activa y OnExit al que se desactiva.
  • OnPaint: Se genera cada vez que el formulario necesita ser dibujado, generalmente porque es su primera visualización o bien porque se activa cuando tenía otras ventanas encima que ocultaban parte de su contenido.
  • OnResize: Se genera cada vez que el tamaño del formulario es modificado durante la ejecución.

Fuente

  • Fundamentos de Programación (Ciclo superior A.S.I)