FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Crear Un Label En Tiempo De Ejecucion En C++ Builder
Como le puedo hacer para poder crear labels, botones y componentes en tiempo de ejecucion.
Lo quiero usar en dado caso que si quiero solicitar datos, lo pueda hacer dinamicamente y que despues se vea en label. En VB lo vi que se puede manejar en su propiedad llamada INDEX. Y como se hace en builder. Espero que me respondan. |
#2
|
|||
|
|||
Tienes que crear un apuntador al nuevo objeto que vas a utilizar, aqui un ejemplo que utilizo en c++ builder:
TToolButton *cc=new TToolButton (this);//creas el apuntador y el nuevo objeto en tu caso para un label seria remplazar TToolButton por un TLabel cc->Parent=ToolBar1;//le dises en donde va a aparecer si en la forma o en algun lugar determinado yo le indique que en el toolBar cc->Name="boton"+String(y);aqui el nombre que va a llevar el nuevo componente espero te sirva suerte. Última edición por Luvac fecha: 30-12-2008 a las 07:07:56. |
#3
|
||||
|
||||
Quizás falte un pequeño detalle a la explicación de Luvac:
Código:
InsertControl(Nuevo_Control_Creado_Dínámicamente); Saludos. |
#4
|
|||
|
|||
A mi me funciona nada mas como lo deje, para que sirve el otro y como lo utilizas si me pudieras dar una explicasion.
|
#5
|
||||
|
||||
Cita:
Saludos. PD. Tú lo colocaste en un ToolBar Última edición por escafandra fecha: 30-12-2008 a las 20:01:12. |
#6
|
|||
|
|||
Gracias Me Sirvio De Mucho
Muchas gracias por responder, tenia tiempo que intenteba hacerlo y nada mas no podia. Me sirvio todo lo que me dijeron y al final me quedo un ejemplo sencillito.
//-------- int y=1; for(int i=0; i<10;i++) { TLabel *cc = new TLabel (this);// cc->Visible=true; cc->Left=40+y; String aux=y; cc->Name="hola"+aux; y= y + 50; InsertControl(cc); } //-------- y si no se pone InsertControl(); no se ve el label. Tengo que programar en c++ builder, por la escuela, y me daria mucho gusto que me ayuden, por que lo mas seguro es que saldran muchas dudas =) Ya se puede cerrar el post =) Última edición por soancatl55 fecha: 30-12-2008 a las 21:51:21. |
#7
|
|||
|
|||
pero si son edit
hola en caso de que sean Edit y tenga que utilizarlos luego como lo hago..
en caso de que tenga que crear 3 edit en tiempo de ejecuccion pa obtener los lados de una figura.. y luego tenga que utilizarlos como lo hago.... se supone que aun no se an creado los Edit...... |
#8
|
||||
|
||||
Hola jimy99 y bienvenido a los foros de Club Delphi
Como a todo recién ingresado te invito a que le des una leida a nuestra Guía de estilo. Te pongo un ejemplo con Edits Código:
#define NRO_EDITS 3 void __fastcall TForm1::CrearEdits(int Cant) { for(int i=0;i < NRO_EDITS; i++) { TEdit *TE = new TEdit(this); TE->Left = 8; TE->Height = 25; TE->Width = 100; TE->Top = i* 45 + TE->Height; TE->Name = "Edit" + IntToStr(i+1); TE->OnKeyPress = EditKeyPress; // asignarle un evento x TE->Parent = this; // o InsertControl(TE); } } void __fastcall TForm1::EditKeyPress(TObject *Sender, char &Key) { Beep(); } void __fastcall TForm1::Button1Click(TObject *Sender) { CrearEdits(NRO_EDITS); }
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
|||
|
|||
una duda...
disculpa ecfisa, solo queria preguntarte como creo un metodo aparte que me cree los Edits en tiempo real, por ejemplo:
void crearEdits(int cantidad){ for(int i=0;i <cantidad; i++) { TEdit *TE = new TEdit(this); TE->Left = 8; TE->Height = 25; TE->Width = 100; TE->Top = i* 45 + TE->Height; TE->Name = "Edit" + IntToStr(i+1); TE->Parent = this; // o InsertControl(TE); } } /// Y después mandarlos a llamar al hacer clic en un boton por ejemplo... yo hago eso pero me marca este error [BCC32 Error] CrearVariables.cpp(21): E2297 'this' can only be used within a member function... despues lo intento tal y como esta en tu ejemplo pero me manda este error... [BCC32 Error] CrearVariables.cpp(13): E2316 '_fastcall TForm1::CrearBoton(int)' is not a member of 'TForm1' Me gustaria que me explicaras mejor ó como solucionar mi problema.. muchas gracias de ante mano... saludos |
#10
|
||||
|
||||
Cita:
Hacé click en la pestaña Unit1.h (situada en la parte inferior de la ventana del editor) y agrega en la sección private o public de la clase TForm1 la siguiente línea: Código:
void __fastcall CrearEdits(int cantidad);
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#11
|
|||
|
|||
Agradecimiento
he puesto en marcha el consejo, muchas gracias, ya esta saliendo todo de maravilla.. gracias por el apoyo, aun soy muy nuevo en este entorno y en el lenguaje_; estoy haciendo un proyecto un poco complicado sobre dlp-usb y he aprendido bastante en este lenguaje.... muchas gracias por el apoyo.. muy agradecido... saludos
otra duda: ahora que creo los edit en tiempo real y ¿como capturar sus valores al presionar otro button? ... de nuevo gracias por la ayuda.. Última edición por omarodalis fecha: 30-11-2011 a las 17:50:09. |
#12
|
||||
|
||||
Hola omarodalis.
Te agradecería que pusieses esta última pregunta en un nuevo hilo tál como sugiere el punto 8 de la guía de estilo. Saludos y muchas gracias por tu colaboración
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#13
|
|||
|
|||
muchas gracias
ok.. lo haré.. muchas gracias .. saludos
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como crear dll en tiempo de ejecucion | Maycoll | Varios | 12 | 10-05-2008 01:57:19 |
Crear consultas SQL en tiempo de ejecución | Lepe | OOP | 1 | 26-05-2007 18:26:33 |
Crear elementos en tiempo de ejecucion | Tecnic2 | OOP | 12 | 15-06-2005 20:12:42 |
Crear consultas en tiempo de ejecución | rochi | Varios | 2 | 27-02-2005 16:42:44 |
Crear un DSN en tiempo de ejecucion | neyvan | Conexión con bases de datos | 7 | 21-05-2004 17:41:45 |
|