Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2011
jmrp jmrp is offline
Registrado
NULL
 
Registrado: sep 2011
Posts: 6
Poder: 0
jmrp Va por buen camino
Crear objetos en tiempo de ejecución

Como se crean objetos en tiempo de ejecución, Tedit, TLabel, TImage
Responder Con Cita
  #2  
Antiguo 12-09-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.003
Poder: 26
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Como cualquier otro objeto, con Create. Sin embargo, al ser controles necesitarás asignar la propiedad "Parent" a mano, así como el resto (posición, tamaño, estilo...) salvo que quieras usar sus valores por defecto. Por ejemplo:
Código Delphi [-]
...
  VAR
    aEtiqueta: TLabel;
  BEGIN
    aEtiqueta := TLabel.Create (SELF); { Asumiendo que "SELF" es un TForm }
    aEtiqueta.Parent := SELF;
    aEtiqueta.Caption := 'Ejemplo de etiqueta creada dinámicamente';
  END;
Ojo, que lo he hecho de memoria y sin probarlo, así que es posible que no funcione bien y debas asignar más propiedades. Por eso, antes de hacerlo así, asegurate de que controlas la creación y ediciónd e controles dentro de Delphi.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 12-09-2011
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 22
Toni Va por buen camino
Con código en C++ Builder seria de la siguiente manera utilizando el operador new para crearlo:

Código Delphi [-]
TEdit *edit = new TEdit(this);

Y utilizando el operador delete para eliminarlo, ya que al ser dinamico tienes que ser tu quien asegure que se elimina este objeto:

Código Delphi [-]
delete edit;
__________________
Saludos,

Bitman
Responder Con Cita
  #4  
Antiguo 12-09-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.003
Poder: 26
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Toni Ver Mensaje
Con código en C++ Builder seria de la siguiente manera utilizando el operador new para crearlo:

Código Delphi [-]
TEdit *edit = new TEdit(this);

Y utilizando el operador delete para eliminarlo, ya que al ser dinamico tienes que ser tu quien asegure que se elimina este objeto:

Código Delphi [-]
delete edit;
Ups, cierto Toni, olvidé que preguntaba por C++. De todas formas, si se ha asignado el "Owner" (en el constructor) no es necesario destruirlo ya que el propio Owner se encarga de ello (salvo que Builder se comporte de forma diferente, pero creo que no).
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #5  
Antiguo 12-09-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.202
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Resumiendo para no liar a jrmp, el código de Ñuño Martínez con la apreciación de Toni, es correcto. En Builder sería así:

Código:
TLabel *aEtiqueta = new TLabel(this);
aEtiqueta->Parent = this;
aEtiqueta->Caption = "Ejemplo de etiqueta creada dinámicamente";
Al asignar como dueño a this, éste lo destruirá.

Saludos.
Responder Con Cita
  #6  
Antiguo 15-09-2011
jmrp jmrp is offline
Registrado
NULL
 
Registrado: sep 2011
Posts: 6
Poder: 0
jmrp Va por buen camino
Gracias, ya lo tengo. tambien hay que darle la posicion y las dimensiones y hacerlo visible.

Es posible incluso crearle eventos.

Un saludo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear Objetos en tiempo de ejecucion mmtaffarel OOP 8 14-01-2024 18:55:25
Eliminar Objetos en tiempo de ejecucion adeszeus OOP 7 25-11-2010 16:17:09
Dudas Crear Objetos en Tiempo de Ejecución Deiv OOP 9 09-08-2007 02:13:15
Quiero crear objetos en tiempo de ejecución con IntraWeb en Delphi 7 atirado OOP 3 12-03-2004 00:06:31
Objetos creados en tiempo de ejecución Scocc OOP 4 13-06-2003 21:55:29


La franja horaria es GMT +2. Ahora son las 02:37:46.


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
Copyright 1996-2007 Club Delphi