PDA

Ver la Versión Completa : combobox con form


arespremium
13-08-2007, 22:53:11
al seleccionar un combobox y darle en aceptar este cambia al form correspondiente

imagen 1 (http://www.subirimagenes.com/imagenes/previo/thump_135302001.gif)
imagen 2 (http://www.subirimagenes.com/imagenes/previo/thump_135302202.gif)
imagen 3 (http://www.subirimagenes.com/imagenes/previo/thump_135302303.gif)
imagen 4 (http://www.subirimagenes.com/imagenes/previo/thump_13530264.gif)


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.

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:


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}