Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   combobox con form (https://www.clubdelphi.com/foros/showthread.php?t=46923)

arespremium 13-08-2007 22:53:11

combobox con form
 
al seleccionar un combobox y darle en aceptar este cambia al form correspondiente

imagen 1
imagen 2
imagen 3
imagen 4


Código:

combobox1.items.add('Form 1');
combobox1.items.add('Form 2);

Boton aceptar form 1
Form1.Show;
Form2.Close;

Boton aceptar form 2
Form2.Show;
Form1.Close;

estara bien? saludos

Caral 13-08-2007 23:34:19

Hola
Supongo que lo que pretendes hacer es que al cambiar el item del combobox este abra un form determinado.
1-Por que no colocar la lista de estos directo en el combobox y no hacerlo por programacion?.
2-Por que usar el evento de un boton y no el onchage del combobox.
3-No es conveniente hacer la llamada a un form asi, es mejor de esta manera y en Proyect, options, pasar los from de auto create a available.
Código Delphi [-]
procedure TForm1.Combobox1Change(Sender: TObject);
begin
 Form2:=TForm2.Create(self);
   try
      Form2.ShowModal;
   finally
     Form2.Free;
   end;
end;
Esta es una buena politica ya que al crecer mucho el programa se vuelve lento.
Saludos

BlueSteel 13-08-2007 23:35:16

Hola arespremium

te recomiendo que utilices el Form1.ShowModal en vez del Form1.Show

Edito: Caral se me adelanto...

b3nshi 13-08-2007 23:55:13

Algo asi puede ser:

Código Delphi [-]
procedure TForm1.ComboBox1Change(Sender: TObject);
var
formabrir : tform;
begin
case combobox1.itemindex of
0:begin 
   formabrir := form2.create(self);
   end;//Este se supone q es el form2
1:begin 
   formabrir := form3.create(self);
   end;//Se supone q es el form3
2:begin 
   formabrir := form4.create(self);
   end;//Otro form..
end
else
begin
showmessage('Elija una opcion valida!')//En el caso de q no sea ninguno de estos
end;//Fin del case-else
 
try
formabrir.showmodal;
finally
formabrir.free;
end;
end;//Termina el procedimiento

No lo probé... simplemente lo escribi de memoria por lo q pueden haber errores pero creo q asi deberia funcionar bien ;)

{Saludos}


La franja horaria es GMT +2. Ahora son las 18:02:35.

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