Crear un control por su nombre


Cómo crear un control cuando sólo se da el nombre de la clase del control.
en Primer lugar la clase debe estar registrado, esto se hace en la sección de inicialización.
& nbsp & nbsp RegisterClasses([TEdit])

a Continuación, nos encontramos con el objeto de clase (clases de objetos) para el control, y comprobar que en realidad es un TControl.
& nbsp & nbsp CClass := FindClass('TEdit')
& nbsp & nbsp Assert(CClass <> nil)
& nbsp & nbsp Assert(CClass.InheritsFrom(TControl))

por último echamos la clase como un TControlClass (con el fin de llamar la correcta constructor) y llame a Crear.
& nbsp & nbsp C := TControl(TControlClass(CClass).Create(Self))

El código completo es el siguiente.
función CreateControlByClassName(const AClassName: string
& nbsp & nbsp AOwner: TComponent): TControl
var
& nbsp & nbsp CClass: TClass
begin

& nbsp & nbsp CClass := FindClass(AClassName)
& nbsp & nbsp Assert(CClass <> nil)
& nbsp & nbsp Assert(CClass.InheritsFrom(TControl))
& nbsp & nbsp Resultado := TControl(TControlClass(CClass).Create(AOwner))
fin
inicialización
& nbsp & nbsp RegisterClasses([TEdit])
final.









Crear un control por su nombre


Crear un control por su nombre : Multi-millones de consejos para hacer su vida mas facil.


Como crear un control cuando solo se da el nombre de la clase del control.
en Primer lugar la clase debe estar registrado, esto se hace en la seccion de inicializacion.
& nbsp & nbsp RegisterClasses([TEdit])

a Continuacion, nos encontramos con el objeto de clase (clases de objetos) para el control, y comprobar que en realidad es un TControl.
& nbsp & nbsp CClass := FindClass('TEdit')
& nbsp & nbsp Assert(CClass <> nil)
& nbsp & nbsp Assert(CClass.InheritsFrom(TControl))

por ultimo echamos la clase como un TControlClass (con el fin de llamar la correcta constructor) y llame a Crear.
& nbsp & nbsp C := TControl(TControlClass(CClass).Create(Self))

El codigo completo es el siguiente.
funcion CreateControlByClassName(const AClassName: string
& nbsp & nbsp AOwner: TComponent): TControl
var
& nbsp & nbsp CClass: TClass
begin

& nbsp & nbsp CClass := FindClass(AClassName)
& nbsp & nbsp Assert(CClass <> nil)
& nbsp & nbsp Assert(CClass.InheritsFrom(TControl))
& nbsp & nbsp Resultado := TControl(TControlClass(CClass).Create(AOwner))
fin
inicializacion
& nbsp & nbsp RegisterClasses([TEdit])
final.


Crear un control por su nombre

Crear un control por su nombre : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación