Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
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 28-01-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
TPanel como TForm

TPanel como TForm

Hola compañeros del club, tengo con una simple inquietud y espero me puedan ayudar, basicamente lo que busco es crear el mismo tipo de animacion de una ventana...

Código Delphi [-]
procedure TFrmPrestamo.ccreditoClick(Sender: TObject);
begin
  AnimateWindow(Handle,400,AW_ACTIVATE or AW_SLIDE or AW_VER_POSITIVE);
end;

Pero que en un Tpanel. La verdad me parece mas conveniente este efecto que intentar otro metodo con bucles y refresh en el panel, que no se ven nada bien, y no se como crear una variable que me force a crear el panel como si fuese un form pero sin olvidar el manejador Handle
__________________
Web

Última edición por felipe88 fecha: 28-01-2008 a las 22:03:48. Razón: Cualquiera se equivoca...
Responder Con Cita
  #2  
Antiguo 29-01-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Posteo mi propio hilo para que no se quede en el olvido...

Añado algo a mi pregunta, el panel permanece invisible y al hacer click en un boton aparece; es ahí donde quiero realizar el efecto...
__________________
Web
Responder Con Cita
  #3  
Antiguo 29-01-2008
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
No entiendo mucho tu pregunta, pero voy a responder por lo que entendí:

Lo que quieres hacer (Supongo) es que este efecto se haga en un panel o form, eso es lo que entendí aqui te dejo la instruccion:

Para un Form:
AnimateWindow(Form2.Handle,400,AW_ACTIVATE or AW_SLIDE or AW_VER_POSITIVE);

Para un Panel:
AnimateWindow(Panel1.Handle,400,AW_ACTIVATE or AW_SLIDE or AW_VER_POSITIVE);
Responder Con Cita
  #4  
Antiguo 29-01-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Cita:
Empezado por cmm07 Ver Mensaje
No entiendo mucho tu pregunta, pero voy a responder por lo que entendí:

Lo que quieres hacer (Supongo) es que este efecto se haga en un panel o form, eso es lo que entendí aqui te dejo la instruccion:

Para un Form:
AnimateWindow(Form2.Handle,400,AW_ACTIVATE or AW_SLIDE or AW_VER_POSITIVE);

Para un Panel:
AnimateWindow(Panel1.Handle,400,AW_ACTIVATE or AW_SLIDE or AW_VER_POSITIVE);
Bueno basicamente la idea es animar el panel como lo haria esta funcion en el formulario, pero si habras probado tu codigo veras que aunque no muestra error o no hace nada o no se ve...

Ademas ten en cuenta que en un formulario normal se haria en el evento OnShow por ejemplo, en cambio con el panel no seria lo mismo; como dije anteriormente

Cita:
Añado algo a mi pregunta, el panel permanece invisible y al hacer click en un boton aparece; es ahí donde quiero realizar el efecto...
Lo que quiero saber es que tanto me permite esta funcion o si existe alguna otra que me permita hacer esto...
__________________
Web
Responder Con Cita
  #5  
Antiguo 30-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por felipe88 Ver Mensaje
Bueno basicamente la idea es animar el panel como lo haria esta funcion en el formulario, pero si habras probado tu codigo veras que aunque no muestra error o no hace nada o no se ve...

Ademas ten en cuenta que en un formulario normal se haria en el evento OnShow por ejemplo, en cambio con el panel no seria lo mismo; como dije anteriormente

Lo que quiero saber es que tanto me permite esta funcion o si existe alguna otra que me permita hacer esto...
He ejecutado lo que nuestro amigo cmm07 y funciona correctamente; al dar clic en el botón se muestra el panel animado.

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  AnimateWindow (Panel1.Handle, 400, AW_ACTIVATE or AW_SLIDE or AW_VER_POSITIVE);
end;

Solo te falta asignar false a la propiedad Visible del Panel1.

Y si lo quieres "cerrar" se hace así

Código Delphi [-]
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  AnimateWindow (Panel1.Handle, 400, AW_HIDE or AW_SLIDE or AW_VER_NEGATIVE);
end;

Salud OS

Edito

Si quieres otro tipo de efecto intenta con esto:

Código Delphi [-]
  //ABRIR
  AnimateWindow (Panel1.Handle, 400, AW_ACTIVATE + AW_HOR_POSITIVE + AW_VER_POSITIVE);
  //CERRAR
  AnimateWindow (Panel1.Handle, 400, AW_HIDE + AW_HOR_NEGATIVE + AW_VER_NEGATIVE);

Veras algo interesante.

Otra cosa, si cambias el color de tu panel a otro que no sea el de la forma, veras el efecto mucho mejor....
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Última edición por egostar fecha: 30-01-2008 a las 07:05:18.
Responder Con Cita
  #6  
Antiguo 30-01-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Hola, estoy probando el efecto a ver si me funciona porque hasta ahora no he podido ver nada... el problema que me surge ahora es como manejar la propiedad visible del componente TPanel, antes o despues de la animacion; o sera que el mismo no me permitira verlo
__________________
Web
Responder Con Cita
  #7  
Antiguo 30-01-2008
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
Cita:
Empezado por felipe88 Ver Mensaje
Hola, estoy probando el efecto a ver si me funciona porque hasta ahora no he podido ver nada... el problema que me surge ahora es como manejar la propiedad visible del componente TPanel, antes o despues de la animacion; o sera que el mismo no me permitira verlo


Aqui te dejo adjunto un archivo con un ejemplo.

Última edición por cmm07 fecha: 26-04-2008 a las 14:58:15.
Responder Con Cita
  #8  
Antiguo 30-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por felipe88 Ver Mensaje
Hola, estoy probando el efecto a ver si me funciona porque hasta ahora no he podido ver nada... el problema que me surge ahora es como manejar la propiedad visible del componente TPanel, antes o despues de la animacion; o sera que el mismo no me permitira verlo
En tiempo de diseño debes de asignar la propiedad Visible a False y la funcion AnimateWindow() hará el resto, AW_ACTIVATE y AW_HIDE son las que hacen que se vea o se oculte.

No entiendo porque no ves el efecto, ya cambiaste de color el TPanel?

Yo lo he puesto de color clInfoBk y se ve perfecto.

Otra cosa, lo estoy haciendo desde dos botones, uno para mostrar y otro para ocultar.

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  //ABRIR
  AnimateWindow (Panel1.Handle, 400, AW_ACTIVATE + AW_HOR_POSITIVE + AW_VER_POSITIVE);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  //CERRAR
  AnimateWindow (Panel1.Handle, 400, AW_HIDE + AW_HOR_NEGATIVE + AW_VER_NEGATIVE);
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #9  
Antiguo 30-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Tal vez tienes un ordenador muy rapido?, cambiando de 400 a 800 lo verías mas lento el efecto.
Por cierto, Genial amigo Egostar.
Saludos
Responder Con Cita
  #10  
Antiguo 30-01-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
A bueno pues de ser asi, yo creo que no me debe presentar mas problemas... como en estos momentos no tengo donde probarlo no podria decirles como me resulto, creo que debe funcionarme bien, les avisare...

Gracias de antemano cmm07 y egostar
__________________
Web
Responder Con Cita
  #11  
Antiguo 30-01-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Tal vez tienes un ordenador muy rapido?, cambiando de 400 a 800 lo verías mas lento el efecto.
Jajaja... lo tendre en cuenta Caral, gracias
__________________
Web
Responder Con Cita
  #12  
Antiguo 01-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por felipe88 Ver Mensaje
...como en estos momentos no tengo donde probarlo no podria decirles como me resulto, creo que debe funcionarme bien, les avisare...
Y bien, me pregunto si ya habrás conseguido donde probar este asunto

Digo, nadamas por chismoso que soy.....

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #13  
Antiguo 01-02-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
Y bien, me pregunto si ya habrás conseguido donde probar este asunto

Digo, nadamas por chismoso que soy.....

Salud OS
Pues.... si, me funciono; el problema era que yo lo estaba probando con los eventos del formulario y extrañamente ni me ocultaba el panel aun estando invisible , ahi perdonan la demora pero era que tenia un problema con el Delphi , igual gracias por la ayuda (Incluyendo a todos) y... QUE VIVA EL CHISME ....

Mentiras, es de las cosas que mas me incomodan ...
__________________
Web
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
TForm como parametro Delpho Varios 3 07-02-2006 11:13:08
Clase que hereda de TForm rocio84 OOP 3 29-10-2005 13:54:27
Como abrir una pagina web desde una Tform normal Martha Ayala Internet 3 24-10-2005 23:59:54
Refrescar mi tform.... Kamikaze OOP 3 17-11-2004 23:09:25
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo morfeo21 Varios 5 17-08-2004 18:39:51


La franja horaria es GMT +2. Ahora son las 11:55:08.


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