Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Creación de botones (https://www.clubdelphi.com/foros/showthread.php?t=35252)

lucero_chivas 05-09-2006 17:41:14

Creación de botones
 
Hola bueno días... Otra vez yo jeje...

Tengo un problema :confused: , quisiera saber cómo puedo hacer para crear botones en tiempo de ejecución, esto es:

*Si en una determinada tabla tengo 5 registros, en pantalla me deben aparecer 5 botones con el contenido de un cierto campo de la tabla, esto es por ejemplo, si en la tabla empleados tengo 5 registros, con sus claves q van desde el 001 hasta el 005, quisiera q en la pantalla me aparecieran 5 botones con estas leyendas... mi problema es q no se cómo hacerle para q estos botones me salgan ordenados, o en determinadas coordenadas, porq conforme se vayan agregando registros a dicha tabla, también deberán ir apareciendo así mis botones.

Espero alguien me pueda ayudar.. y disculpen tantas molestias..

Gracias :)

jachguate 05-09-2006 17:57:13

Tené cuidado, que vas a terminar creando 1000 botones y dejarás la máquina sin recursos!

Código Delphi [-]
PosY := 10;
while not query1.eof do
begin
  with TButton.Create(Self) do
  begin
    Caption := query1Nombre.AsString;
    OnClick := AlgunMetodo;
    Parent := Self;
    Top := PosY;
    PosY := PosY + Height + 5;
  end;
  query1.Next;
end;

Hasta luego.

;)

vtdeleon 05-09-2006 19:27:52

Ey jachguate estamos en C++ :D:D.

El código de jachguate está escrito en Delphi, pero aun asi se entiende. Con un poquito de sentido común se hace;).

Ej:
Código Delphi [-]
while not query1->eof do
begin
  with TButton->Create(Self) do
...
...

Saludos

jachguate 06-09-2006 00:06:33

Cierto!!!

No caí en la cuenta que la pregunta se hallaba en el foro de C++.

Como ya has dicho, aún se entiende... :D

Hasta luego

;)

lucero_chivas 06-09-2006 16:34:06

Ok gracias por mandarme el codigo para la generacion de botones, mi siguiente pregunta es.... Si voy creando los botones en tiempo de ejecución cómo puedo hacer para q me aparezcan ordenados, es decir, q sepa las coordenadas del botón anterior y se ponga unos cuantos puntos mas abajo o cosas asi??

jachguate 06-09-2006 16:41:59

Con el código que te envé originalmente aparecen así como pedís... ¿cual es el problema? :confused:

vivamotos 06-09-2006 17:14:19

No me funciona
 
Saludos,

En builder c++ este metodo no me funciona me podriaís decir como se crea un botón en tiempo de ejecución en borland c++???????

GRACIAS

jachguate 06-09-2006 18:33:39

Claro... leyendo mi código y dedicando un poco de tiempo. No esperes que un copy/paste funcione de delphi a c++... :D

vtdeleon 06-09-2006 19:40:39

Saludos

Ve mi anterior mensaje. Verás que solo he cambiando el "." (punto) por la "->" flecha; otra cosa que debes cambiar es el modo de asignacion ":=" por "=", si no me equivoco.

wako13 06-09-2006 20:16:53

bueno ahi te va como es el codigo en C++ Builder y pos te recomiendo que leas el libro "La cara Oculta de Builder"
http://www.marteens.com
Código:

while(!ADOQuery->Eof)
      {
          TButton *MiBoton = new TButton(this);
          MiBoton->Parent = this;
          MiBoton->Caption  = ADOQuery->FieldByName("Campo")-AsString;
          Miboton->..... //las propiedades que te vayan a ser utiles
          .....
          ADOQuery->Next();

      }


vivamotos 07-09-2006 09:04:06

vale pero para hacer un OnClick???
 
Vale grácias, esto funciona
ahora el problema es invocar el método, como se hace manualmente?

Por favor que este detallado que no lo entiendo mucho.

Es decir, lo que quiero es que además de crear el botón tenga el metodo OnClick que cuando clique me muestre el mensaje "HOLA" por ejemplo.

Esto en tiempo de ejecución claro, grácias.

jachguate 07-09-2006 17:11:16

Para crear un botón, lo seleccionas en la paleta de componentes y con un clic lo botas en la forma. Le das doble clic al botón y esto crea un nuevo método asociado al evento OnClick. Allí escribis:

Código Delphi [-]
  ShowMessage('Hola');  // o su equivalente en c++ si no fuera esto

Y listo.

Realmente debieras leer el libro que te han recomendado de Marteens (muy bueno) o algún otro tutorial del builder.


Hasta luego.

;)

lucero_chivas 08-09-2006 16:31:57

Ok yo tambien ya entendi eso, creo q esa no era la pregunta, más bien sería, como los botones se crearán en tiempo de ejecución, como le asignas un evento OnClick a cada botón, ya que este será diferente para cada uno..


La franja horaria es GMT +2. Ahora son las 22:12:13.

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