Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Adicionar una propiedad a un componente (https://www.clubdelphi.com/foros/showthread.php?t=88029)

Jose Roman 06-04-2015 18:49:21

Adicionar una propiedad a un componente
 
Cordial saludo,

Trabajo con Delphi XE7 y tengo un TButtonGroup el cual como sabran a su vez se le adicionan los Items (TGrpButtonItems) pero estos no tienen la propiedad enabled, alguien sabe como adicionar esta propiedad para que se pueda utilizar en modo de ejecucion?

Gracias de antemano.

Al González 06-04-2015 22:40:28

Normalmente, para agregar una propiedad a un objeto, es necesario declarar una nueva clase, diciéndole a Delphi que esta nueva clase debe heredar (adquirir) los mismos elementos de la clase original, pero añadiendo los nuevos elementos que deseas (más propiedades, campos o métodos). Es lo que se conoce como derivar una clase de otra, cumpliéndose uno de los principios de la Programación Orientada a Objetos: la herencia.

Este mecanismo ocurre de forma automática cuando creas un nuevo formulario en Delphi. Seguramente te será familiar este código:
Código Delphi [-]
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
Aquí, TForm1 es una clase que deriva de TForm (por lo tanto tendrá todas las características y capacidades de la clase estándar TForm), pero además añade un campo (Button1) y un método (FormCreate). Si además quisiera añadirle una propiedad, tendría que escribir una declaración "Property...", de lo cual encontrarás mucha más información a través de los siguientes mensajes de este hilo y buscando en Google con la opción "site:www.clubdelphi.com".

En tu caso, seguramente tendrás que escribir todo el código de la nueva clase (preferentemente en un archivo .pas separado). Por favor, infórmanos sobre los avances que vayas teniendo para que la ayuda que te demos sea lo más adecuada posible.

Procura cuidar un poco más los acentos y detallar más las preguntas, saludos cordiales.

Al González. :)

Jose Roman 06-04-2015 22:57:37

Gracias por tu respuesta Al González, pero te comento que no he avanzado debido a que soy muy novato en el tema y en Colombia son ciegos y no hay donde enseñen las bondades de este lenguaje, habia leido algo en cuestion de que utilizara un TActionList y creara un TAction con la propiedad Enabled a False y en la propiedad de Action del TGrpButtonItem le asignara el TAction pero no lo toma y es raro porque si haces esto mismo con un TButton la propiedad del TAction si afecta el enabled. Si puedes guiarme mas te lo agradeceria mucho. Por lo pronto tratare de editar Vcl.ButtonGroup

ElKurgan 07-04-2015 09:35:23

¿Y has probado a usar clases interpuestas (o algo asi)?

Con esto te evitas tener que "tocar" el código fuente original de Delphi.

Un ejemplo muy sencillo en esta página del maestro Marteens

Saludos

Jose Roman 07-04-2015 14:23:06

Interesante propuesta, gracias estare analizandola.


La franja horaria es GMT +2. Ahora son las 14:41:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi