Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-08-2011
jsc jsc is offline
Miembro
 
Registrado: nov 2003
Posts: 144
Poder: 21
jsc Va por buen camino
mostrar form segun boton pulsado

hola,
me estoy volviendo loco y no consigo resultado. a ver si podeis ayudarme

tengo un "panel" que utilizo en plan menu con varios botones "clientes" "facturas"... en una form (form1)

cuando pulso un boton, abre su correspondiente form dentro del form1 (el form1 actua como ventana padre)
a su vez, dimensiono la form para que se muestre correctamente en el form1

la cuestion es que estoy intentando hacer, un procedimiento comun que sirva para el evento onclick de cada boton; asi, el codigo para redimensionar la form que hay que abrir, asignar el "parent"... tendria que ponerlo solo una vez

intento esto:

Código:
procedure abreform (sender :tobject)
var form : string ;
 begin
   form := (sender as tbutton).caption ;
   application.createform ((form as tform),form) ;
   (form as tform).show ;
   (form as tform).parent := form1 ;
   (form as tform).top := form1.top-....
end;

procedure form1.clientes.onclick (sender :tobject)
begin
   abreform (sender) ;
end;

procedure form1.facturas.onclick (sender :tobjec)
begin
   abreform (sender) ;
end;
e intento evitar tener que "duplicar" para cada boton
Código:
procedure form1.clientes.onclick (sender :tobject)
begin
   application.createform(tformclientes,formclientes);
   formclientes.show ;
   formclientes.parent :=  form1 ;
   formclientes.top:= ...
end;

procedure form1.facturas.onclick (sender :tobject)
begin
   application.createform(tformfacturas,formfacturas);
   formfacturas.show ;
   formfacturas.parent :=  form1 ;
   formfacturas.top:= ...
end;
es posible hacer algo de esto?
gracias por la ayuda
Responder Con Cita
  #2  
Antiguo 11-08-2011
jsc jsc is offline
Miembro
 
Registrado: nov 2003
Posts: 144
Poder: 21
jsc Va por buen camino
he llegado a conseguir lo que quiero pero quisiera todavia reducir más código
a ver si podeis ayudarme

adjunto un ejemplo tonto para ver lo que quiero conseguir (delphi 7)

pulsando el boton 1 se muestra form2
pulsando el boton 2 se muestra form3

se podria reducir el codigo
Código:
   if (sender as TButton).caption = 'Button1' then form := TForm2.Create (Form2) ;
   if (sender as TButton).caption = 'Button2' then form := Tform3.Create (Form3) ;
   if (sender as TButton).caption = 'Button3' then form := Tform4.Create (Form4) ;
de manera que
Código:
form:=TForm2.Create(Form2)
valdria para todos los forms?
algo asi:
Código:
 form := ('T'+variable).Create(variable)
donde "variable" seria por ejemplo el caption del boton; en este caso, form2, form3,form4

podria hacerse algo ó lo máximo que puede reducirse es como en el ejemplo que he puesto?

gracias de antemano
Archivos Adjuntos
Tipo de Archivo: rar pruebaprog.rar (11,6 KB, 11 visitas)
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
Como saber desde que Form hemos pulsado un boton? Delphitest Varios 4 10-03-2008 18:47:04
Saber cuando has pulsado Enter en un botón diego11 Varios 4 07-12-2007 17:08:07
Controlar cuando se ha pulsado un botón en otra unidad (propiedades) David OOP 9 17-11-2007 21:08:45
como se si he pulsado un boton ercrizeporta Varios 11 03-04-2007 13:56:56
he pulsado el botón enviar?? valentine API de Windows 7 02-06-2004 17:21:54


La franja horaria es GMT +2. Ahora son las 07:11:50.


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