Inicio / Wikis / Cursos gratis / Creación de componentes VCL (III) - Heredando de TCustomComponent: otro mundo

Creación de componentes VCL (III) - Heredando de TCustomComponent: otro mundo

Curso gratis creado por José Manuel. Extraido de: http://www.lawebdejm.com
27 de Agosto de 2005
Orientación a objetosProgramación estructurada

9 - Heredando de TCustomComponent: otro mundo

Como hemos visto durante todo este ejemplo, heredando de un componente ya existente conseguimos personalizar su comportamiento final. Sin embargo, tenemos otra posibilidad muy interesante: crear un componente en los que se combinen otros componentes visuales (y no visuales), actuando como si fueran uno solo. Esto funcionaría siguiendo la misma filosofía que los objeto TFrame de Delphi, es decir: con un simple clic, incluimos en el formulario un componente todo lo complejo que queramos.
Heredando de TCustomComponent podemos crear un componente combinado, para mostrar varios componentes gráficos dentro de su espacio, y poder utilizar la misma pieza de software en distintos formularios.

Para conseguir esto, tenemos que utilizar la misma técnica que hemos explicado con el ejemplo anterior, aunque heredaremos de otro componente base. En nuestro caso, para crear un componente combinado podríamos heredar de TCustomComponent, que es precisamente la clase que nos proporciona la VCL para crear componentes combinados. En el constructor de “nuestro nuevo hijito”, procederemos a crear el resto de componentes que aparecerán en su interior. El principal inconveniente (que soluciona el componente TFrame) es que tenemos que actuar como si no tuviéramos un entorno de desarrollo, es decir: creando cualquier componente, o asignando los eventos y propiedades, en tiempo de ejecución, todo a través de código y sin ayudarnos del editor de propiedades y formularios del entorno de Delphi.

Para ello tenemos que tener que imitar lo que Delphi hace por nosotros: tener un atributo para cada uno de los componentes internos, que crearemos en el constructor y asignaremos su Parent a nuestro CustomComponent.

Si necesitamos hacer uso de los eventos de los componentes internos, debemos hacer lo mismo que hace el entorno de desarrollo: definir un método y asignarlo a la propiedad del componente que queramos.

Bueno, más vale una imagen que mil palabras, así que en el siguiente listado tenéis el código que debería tener un componente de este tipo, concretamente un componente que muestra una etiqueta (TLabel), un botón (TButton), y un campo de edición (TEdit), y en la imagen de la izquierda el resultado de este componente funcionando.

Valora este capítulo:
Autor y licencia de 'Creación de componentes VCL (III) - Heredando de TCustomComponent: otro mundo'
José Manuel Extraído de: http://www.lawebdejm.com

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Creación de componentes VCL (III) - Heredando de TCustomComponent: otro mundo' (0)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este curso gratis



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Creación de componentes VCL (III) - Heredando de TCustomComponent: otro mundo'

En los últimos años, el desarrollo basado en componentes se ha convertido en una de... Más »
En los últimos años, el desarrollo basado en componentes se ha convertido en la técnica... Más »
Un repaso a los componentes gráficos, aquellos en los que nos tenemos que encargar de... Más »
En los últimos años, el desarrollo basado en componentes se ha convertido en una de... Más »
Ahora que ya sabemos programar nuestros componentes no visuales, vamos a aprender todo lo necesario... Más »
¿Estás seguro de que deseas eliminar este capítulo?