Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Por lo que entiendo tienes varios paneles.
Para que esten activos, osea en uso, tienen que estar visibles.
Si estan visibles pero no los quieres usar esperando cierto tiempo entonces los escondes.
Si es asi, aqui tienes un ejemplo sencillo.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 03-02-2015 a las 18:52:44.
Responder Con Cita
  #2  
Antiguo 09-02-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 21
ElDioni Va por buen camino
Hola Caral, gracias por tu tiempo.

He probado lo que me propones, he tenido que modificar la comprobación del tiempo cuando llega al que hemos establecido de la siguiente manera:

Código Delphi [-]
  If TimeToStr(Time) = TimeToStr(Tiempo) then
    begin
      TPanel(comp).Visible:= False;
    end;

Porque cuando hacía la comprobación no los consideraba iguales, de todas formas no es realmente lo que quiero, digamos que de los tres paneles que me has dibujado en tu ejemplo estoy utilizando el panel1, me muevo por él, pincho en él o en algún componente que contenga, pero el panel2 y el panel3 no los estoy utilizando, pasado el tiempo establecido quiero que se me cierren el panel2 y el panel3 pero no el 1 que si que lo estoy utilizando.

Espero que se entienda.

Saludos.
Responder Con Cita
  #3  
Antiguo 09-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Usa el tag del panel.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 09-02-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 21
ElDioni Va por buen camino
, no se a que te refieres, dices que use el tag del panel, ¿como vigía?, por ejemplo, si estoy usando el panel1 a este le pongo el tag:=1 y a los demás el tag:=0, entonces pasado el tiempo miro los que tienen 0 y los cierro, ¿algo así?, si te refieres a eso se me ocurre que, si tengo abierto un panel en primer plano pero no lo estoy utilizando porque me he ido a tomar cafe, en realidad no lo estoy utilizando, por lo que se debería cerrar. Si cuando cambio de panel pongo el que tengo activo en 1 en el tag y el resto en 0 se me cerraran todos los que pongan 0 cuando llegue el tiempo deseado aunque los haya estado usando en el último segundo y lo que quiero es que no se cierren hasta que haya pasado un tiempo sin utilizarse.

A lo mejor es que no he pillado a que te referías con el tag.

Saludos.
Responder Con Cita
  #5  
Antiguo 09-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Pregunto:
Los usaras con el mouse ?.
Se podria hacer un procedimiento para que vea la posicion de raton, algo asi:

Código Delphi [-]
procedure TForm1.posicion;
 var
  pt:tpoint;
begin
 getcursorpos(pt);
 label1.Caption:= inttostr(pt.x)+'   '+inttostr(pt.y) ;
end;

Esto te dara la posicion x e Y del raton, con esto puedes saber si el raton esta encima del panel y cerrar los demas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 09-02-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 21
ElDioni Va por buen camino
Te tengo que pedir perdón Caral porque te voy dando la información a cuentagotas, sí, utilizo el ratón para moverme por el panel y sus componentes, pero también el teclado, además el panel que estoy utilizando lo pongo en Align:=AlClient por lo que los demás se quedan detrás, entonces voy añadiendo los nombres de los paneles que tengo abiertos en un statusbar, al pulsar sobre el nombre del panel que quieres ver te lo trae al frente. tu solución valdría si los paneles tuvieran una posición fija cada uno, sabiendo la posición del panel y la del mouse.

Una solución que me sirvió una vez para una aplicación que quería que se cerrase si no se estaba utilizando fué la siguiente:

Código Delphi [-]
procedure TFrmMenuCompras.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
//RATON
if (Msg.message = WM_MOUSEMOVE) then
  begin
    timer1.Enabled:=false;
    timer1.Enabled:=true;
  end
// TECLAS
else
  begin
    // Pulsada tecla...
    if  (Msg.message = WM_KEYDOWN)     or (Msg.message = WM_KEYUP)       or
        (Msg.message = WM_SYSKEYDOWN)  or (Msg.message = WM_SYSKEYUP)    or
        (Msg.message = WM_ACTIVATE)    or (Msg.message = WM_NCACTIVATE)  or
        (Msg.message = WM_ACTIVATEAPP) or
        (Msg.message = WM_LBUTTONDOWN) or
        (Msg.message = WM_RBUTTONDOWN) or (Msg.message = WM_MBUTTONDOWN) then
      begin
        timer1.Enabled:=false;
        timer1.Enabled:=true;
      end;
  end;
end;

Pero esto era para cerrar la aplicación entera no una cierta parte de la aplicación.

Espero que así se entienda mejor.

Última edición por ElDioni fecha: 09-02-2012 a las 18:28:50.
Responder Con Cita
  #7  
Antiguo 13-02-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 21
ElDioni Va por buen camino
Hola,

quería especificar que además de querer cerrar los paneles que estabamos comentando, que se encuentran dentro de un mismo form, también quiero cerrar otros formularios cuando pase un tiempo determinado sin usarse.

Saludos.
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
Cerrar Formularios con la Tecla ESC sleep25000 Varios 2 30-06-2011 13:08:33
Cerrar formularios zvf OOP 2 28-04-2006 17:11:34
Cerrar formularios FunBit OOP 2 09-09-2005 11:31:59
Cerrar dos formularios creados dinamicamente (al mismo tiempo) ctronx Varios 7 02-09-2004 00:19:04
pasado tiempo sin acciones lanzar exe rolando_sd Varios 5 25-08-2003 23:12:49


La franja horaria es GMT +2. Ahora son las 16:25:20.


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
Copyright 1996-2007 Club Delphi