Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-07-2013
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
 
Registrado: Jun 2013
Posts: 129
Poder: 6
The Cid James Va por buen camino
Unhappy Ocultar botones distintos form

Bueno voy a ser lo mas claro posible para plantear mi problema, estoy trabajando en una aplicación con varios form para no entrar en detalles y explicar exactamente de que se trata lo voy a plantearcon un ejemplo mas practico y conocido.
Mas o menos seria lo siguiente, en una form tengo un listado de pongamosle productos (con TDBgrid), y en la otra lo que necesito seleccionar es el producto para lo cual he usado un botón el cual selecciona el producto en la form donde se encuentra el listado, ahora bien quiero que ese botón solo se muestre únicamente cuando accedo mediante el form 2 (donde llamo al form 1 cuando deseo seleccionar un item) y no cuando solo quiero visualizar los productos dado que el botón no seria útil

Desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 31-07-2013
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: Feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.100
Poder: 13
movorack Va camino a la fama
Hola,

Puedes colocar un parámetro que indique si debe desplegar o no el botón en cuestión y así cuando lo llames desde el formulario indicado lo activas y desde otro no lo activas.

Nota: Pase como 5 minutos tratando de entender lo que escribiste porque además de no estar claro, la redacción no ayuda y escribir en un solo párrafo empeora las cosa... no se quien es el del foro que dice que esto no es un móvil. Así que tranquilo escribe cuanto quieras.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #3  
Antiguo 31-07-2013
Avatar de Spynosa
Spynosa Spynosa is offline
Miembro
 
Registrado: Nov 2004
Ubicación: Ecija - Sevilla
Posts: 99
Poder: 15
Spynosa Va por buen camino
puedes poner esto

si estamos en el form2
form3.tag := 2;
form3.showmodal;

en el fom3

if tag = 2 then
boton.visible := false;

y antes de llamarlo de otros formulario
form3.tag := 0;
Responder Con Cita
  #4  
Antiguo 31-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 28.654
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #5  
Antiguo 31-07-2013
Avatar de Spynosa
Spynosa Spynosa is offline
Miembro
 
Registrado: Nov 2004
Ubicación: Ecija - Sevilla
Posts: 99
Poder: 15
Spynosa Va por buen camino
ok
Gracias Casimiro por la observación, no se editar el mensaje para cambiarlo, la proxima vez.
Responder Con Cita
  #6  
Antiguo 31-07-2013
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: Feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.100
Poder: 13
movorack Va camino a la fama
Personalmente no me gusta mucho la solución con el tag. Prefiero agregar una propiedad "MostrarBotonX" ya que es mas especifica en su uso que "form.tag".

La razón por la que prefiero la propiedad es que al final podríamos tener que en una parte del código usamos el tag para x y en otra parte el tag para y cuando pudimos haber especificado ese funcionamiento desde la clase.

Pero como cada quien mata las pulgas a su modo...
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #7  
Antiguo 31-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.126
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Otra opción:

Form2: (El que contiene el TButton a ocultar)
Código Delphi [-]
...
type
  TForm2 = class(TForm)
    Button1: TButton;
  private
  public
    class procedure ShowForm(const aVisible: Boolean);
  end;
....

implementation

class procedure TForm2.ShowForm(const aVisible: Boolean);
begin
  if not Assigned(Form2) then
    Form2 := TForm2.Create(nil);
  Form2.Button1.Visible := aVisible;
  Form2.ShowModal; // (o Show)
end;
...


Form1:
Código Delphi [-]
...
begin
  TForm2.ShowForm(False);  // (True para visualizar)
  ...
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 01-08-2013
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
 
Registrado: Jun 2013
Posts: 129
Poder: 6
The Cid James Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Otra opción:

Form2: (El que contiene el TButton a ocultar)
Código Delphi [-]
...
type
  TForm2 = class(TForm)
    Button1: TButton;
  private
  public
    class procedure ShowForm(const aVisible: Boolean);
  end;
....

implementation

class procedure TForm2.ShowForm(const aVisible: Boolean);
begin
  if not Assigned(Form2) then
    Form2 := TForm2.Create(nil);
  Form2.Button1.Visible := aVisible;
  Form2.ShowModal; // (o Show)
end;
...


Form1:
Código Delphi [-]
...
begin
  TForm2.ShowForm(False);  // (True para visualizar)
  ...
end;
av

Saludos
Primero que nada gracias por su tiempo a toos, he intentado usar este código pero no lo entiendo... (soy nuevo en esto)

En la primera parte del código que es donde contiene el botón en que momento estoy haciendo que el botón pase a no mostrarse porque al usar el código el botón sigue mostrándose cuando abro la form que contiene el botón
Responder Con Cita
  #9  
Antiguo 01-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.126
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Te adjunto un ejemplo para que puedas revisarlo con tranquilidad.

Saludos
Archivos Adjuntos
Tipo de Archivo: zip Ejemplo.zip (4,1 KB, 18 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 01-08-2013
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
 
Registrado: Jun 2013
Posts: 129
Poder: 6
The Cid James Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Te adjunto un ejemplo para que puedas revisarlo con tranquilidad.

Saludos
Muchas gracias revise el ejemplo y vi que tiene un check box para que el boton se vea yo lo que ando buscando es que si abro el form1 el boton no se muestre, pero si doy clic al boton desde el form2 al abrir el form1 si se muestre pero sin seleccionar nada (que sea automatico)
aqui dejo el boton que llama al form 1 (listadoitems)
Código Delphi [-]
procedure Tfdonacion.cBuscarClick(Sender: TObject);
begin
  fmodulo.qlistadoitems.Active := true;
  fmodulo.qlistadoitem.ParamByName('categoria').AsString := '%';
  fmodulo.qlistadoitem.Refresh;
  tfListadoitem.Create(self).ShowModal;
desde ese botón abro el formulario donde tengo la lista, donde este el botón seleccionar para seleccionar desde el dbgrid y que este botón traspase la categoría en este caso
el botón seleccionar
Código Delphi [-]
 fdonacion.eitems.Text := fmodulo.qlistadoitems['categoria'] + ',' +  ' '
  +fmodulo.qlistadoitems['nombre'];
  fdonacion.idmiembro := fmodulo.qmiembros['id_miembro'];
Como verán el botón me pasa esos datos a la form2 donde los empleo de otra forma por lo cual no sirve de nada cuando la form dos no esta activa esperando esos datos


A mi se me ocurrio lo siguiente


Código Delphi [-]
procedure TfListadoitms.FormCreate(Sender: TObject);
begin
  if fdonacion.bvisible = True then
    begin
        bseleccionar.Visible := true;
    end
      else
      begin
        bseleccionar.visible := false;
    end;
end;

en el form2
public
evisible : boolean;
procedure Tfdonacion.FormCreate(Sender: TObject);
begin
  bvisible := true; 

procedure Tfdonacion.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  bvisible := false;
end;

Pero al copilar me tira error en el form1 no se si esta bien planteado
Responder Con Cita
  #11  
Antiguo 01-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.126
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por The Cid James Ver Mensaje
Muchas gracias revise el ejemplo y vi que tiene un check box para que el boton se vea yo lo que ando buscando es que si abro el form1 el boton no se muestre
Hola.

Puse TCheckBox en el ejemplo a fin de que pudieras verificar de forma simple el funcionamiento del código, en la práctica pasarías como argumento el valor False cuando no desees que se visualize.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 01-08-2013
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
 
Registrado: Jun 2013
Posts: 129
Poder: 6
The Cid James Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Puse TCheckBox en el ejemplo a fin de que pudieras verificar de forma simple el funcionamiento del código, en la práctica pasarías como argumento el valor False cuando no desees que se visualize.

Saludos.
A ver si asi me doy a entender un poquito mejor,
Si acceso al form 2 directamente (he aquí la razón de todos mis males) el boton tambien se ve

Te adjunto lo que me mandaste pero con un menu para acceder a los form

NOTA: No se como pasarte el ejemplo, exedo por 20kb el limite de adjuntos y no me deja ponerte enlaces externos
Archivos Adjuntos
Tipo de Archivo: rar Ejemplo.part2.rar (68,0 KB, 2 visitas)

Última edición por The Cid James fecha: 01-08-2013 a las 18:39:39. Razón: No puedo adjuntar por excedente de tamaño
Responder Con Cita
  #13  
Antiguo 01-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.126
Poder: 30
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Recibí bién tu ejemplo por pm.

Fijate que incluí el método de clase ShowForm para que la creación se haga dentro del mismo código del form.

No tenes que llamar a Form2 así:
Código Delphi [-]
procedure TForm4.Formulario22Click(Sender: TObject);
begin
   tform2.Create(self).ShowModal; // NO
end;

Tenes que llamarlo de igual modo que lo hace Form1:
Código Delphi [-]
procedure TForm4.Formulario22Click(Sender: TObject);
begin
  TForm2.ShowForm(False);  // False = No visible
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #14  
Antiguo 01-08-2013
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
 
Registrado: Jun 2013
Posts: 129
Poder: 6
The Cid James Va por buen camino
Excelente muchísimas gracias ahora creo que comprendo un poco mas el código que me pasaste, y como asignar el estado me puede servir para varias cosas que tengo pensado hacer pero honestamente no encontraba la forma.

Muchísimas gracias a todos los que cedieron su tiempo en ayudar
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Gestion botones en un form jocaro Varios 2 01-12-2011 12:08:31
Ocultar Form fsmdi Child verito_83mdq OOP 11 08-01-2011 04:45:54
Problema con botones en un form federico1 Varios 4 30-03-2007 12:03:01
utilizar mismo form en distintos modulos @-Soft Conexión con bases de datos 5 09-07-2004 14:51:21
form con botones visibles o no vetustas OOP 4 12-11-2003 19:46:05


La franja horaria es GMT +2. Ahora son las 10:16:07.


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