Curso de C++ Builder


Componentes



Los componentes son unos elementos genéricos con una funcionalidad muy concreta, cuya única finalidad es la reutilización. Cada uno de ellos está destinado a realizar una tarea típica en una aplicación.

Un componente de la VCL es una clase que caracteriza a un control de Windows agregando propiedades, métodos y gestores de eventos a cada control.

La filosofía de los componentes en C++ Builder es exactamente la misma que en Visual Basic. Esto es tanto así que algunos componentes pueden utilizarse en ambos entornos (los componentes ActiveX).

3.1. Páginas de componentes

Como ya hemos comentado anteriormente los componentes se agrupan en la paleta de componentes en distintas páginas, a saber:

Para más detalles, consultar la lista completa de componentes, agrupados por páginas.

 

3.2. Propiedades, métodos y gestores de eventos

De un componente podemos destacar tres aspectos: sus propiedades, los métodos que puede ejecutar y los eventos a los que puede responder.

Propiedades.

Las propiedades son los elementos del componente que configuran su aspecto y controlan su comportamiento.

Muchos componentes tienen propiedades en común. Por ejemplo, todos los componentes visuales tienen las propiedades Top y Left que controlan la posición del componente en el formulario, tanto en tiempo de diseño como en tiempo de ejecución.

Hemos visto como pueden establecerse y modificarse las propiedades de los componentes en tiempo de diseño utilizando el inspector de objetos. Las propiedades tienen, normalmente, un método de acceso asociado que se ejecuta al modificar la propiedad en tiempo de ejecución. Para modificar una propiedad basta (generalmente) con asignarle el nuevo valor. Al realizar un cambio, la VCL invoca el método de acceso a la propiedad. En el caso concreto de la propiedad Left, la VCL dibuja de nuevo todo el formulario en la nueva ubicación.

A modo de resumen, las propiedades tienen dos especificadores de acceso que se emplean al consultar o modificar el valor de una propiedad en tiempo de ejecución. En definitiva, hay un especificador de lectura y un especificador de escritura.
Los especificadores de acceso asocian métodos de lectura o de escritura (funciones, en definitiva) con las propiedades. Al consultar o modificar el valor de una propiedad se invocan, automáticamente, las funciones respectivas asociadas:


EJERCICIO 4: Modificación y consulta de propiedades en tiempo de ejecución.

 

Métodos.

Los métodos son funciones asociadas al componente que pueden invocarse para que el componente realice distintas acciones.

Por ejemplo, todos los componentes visuales tienen un método llamado Show() para mostralos y otro llamado Hide() para ocultarlos. En el ejemplo 3 invocamos al método Terminate() asociado a la aplicación que se estaba ejecutando (Objeto Application) para terminar su ejecución como respuesta a la pulsación del botón.

En C++ los métodos son miembros de una clase, al igual que las propiedades.


EJERCICIO 5: Métodos asociados a componentes.

 

Eventos.

Un evento es cualquier suceso que puede ocurrirle a un componente (movimiento del ratón, pulsación de algún botón del ratón, pulsación de una tecla del teclado, desplazamiento o redimensionamiento de una ventana, etc.) que pueden condicionar el comportamiento y apariencia del programa.
Cada componente poseerá una serie de eventos que puede recibir o generar. Se pueden tratar los eventos de un componente que necesitemos, y dejar que los demás sean tratados por defecto.
Cuando se responde a un evento se dice que se está manipulando el evento. Los eventos se manejan mediante los gestores o manipuladores de eventos.

La forma de tratar un evento asociado a un componente en C++ Builder es sencilla: se activa el componente que va a responder al evento y utilizando el Inspector de Objetos (pestaña Events) se selecciona el evento al que debe responder y, cuando se active el editor de código, se escribe el código asociado al gestor del evento.

Se dice que Windows está orientado a eventos. Esto significa que cualquier programa está condicionado por lo eventos que ocurren en el entorno Windows. Un programa Windows está continuamente sondeando al sistema ante la ocurrencia de cualquier evento y de ocurrir, Windows avisa al programa enviándole un mensaje. Un programa Windows está ocioso la mayor parte del tiempo esperando a que ocurra algún evento.


EJERCICIO 6: Gestores de eventos.

 

3.3. Componentes visuales y no visuales

Se pueden establecer muchas clasificaciones para los componentes. Una de ellas es la de visuales o controles, frente a no visuales.

Un componente es visual cuando tiene una representación gráfica en tiempo de diseño y ejecución (botones, barras de scroll, cuadros de edición, etc.), y se dice no visual en caso contrario (temporizadores, cuadros de diálogo -no visibles en la fase de dieño-, etc). Por lo demás no existen más diferencias entre ellos, excepto, claro está, las derivadas de la visualización del componente.

Los componentes no visuales se pueden colocar en los formularios de la misma manera que los controles, aunque en este caso su posición es irrelevante.



Página principal