FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Disolver a un Form al cerrarlo
Hola,
Alguien conoce algún componente de como disolver un Form?, es decir, he visto en el programa Registry Clean Expert (No sé si lo conoceis: http://www.registry-clean.net/) que al salir del mismo (al cerralo) este va disolviendose cual si la transparencia cada vez fuera mayor (va volviendose transparente hasta desaparecer todo el Form), dicha transparencia se ve en en la totalidad del Form. No es un form del tipo transparente ya que esos Forms conservan las propiedades de la barra del título por ejemplo. Si en Torry's lo hay, con que nombre busco? ó ¿como realizo esta disolución por código para que muestre este efecto al cerrar un Form? Un Saludo |
#2
|
||||
|
||||
Saludos
Si te refieres a ponerlo transparente degradandolo debes usar las propiedades AlphaBlend y AlphaBlendValue para el caso.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#3
|
||||
|
||||
Hola,
Prueba con la función "AnimateWindow". Por ejemplo, sitúa el siguiente código en el evento "OnClose" del formulario principal de tu aplicación: Echa un vistazo a la ayuda de la función "AnimateWindow", puesto que esta te ofrece más posibilidades que las mostradas arriba. |
#4
|
|||
|
|||
Acabo de leer los post,
He estado intentando con AlphaBlend, en cambio con AnimateWindow lo probaré llegando a casa. Se me presentó la siguiente duda: En este código no pasa nada, pero si el mismo le implemento a un Button al evento OnClick, si trabaja, ¿donde está la diferencia?, pareciera que no hace caso el Timer al evento OnClose. ¿Donde estoy fallando? Saludos |
#5
|
||||
|
||||
El problema es que aunque actives el timer la aplicacion se cierra sin esperar a que ocurra el primer evento del timer.
Prueba con esto: Código:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var i: integer; begin AlphaBlend:=true; UpdateWindow(Handle); for i:= 50 downto 10 do begin AlphaBlendValue:= 5*i; Sleep(50); end; end; Código:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var i: integer; Rgn: HRGN; begin for i:= 50 downto 1 do begin Rgn:= CreateRectRgn(0,0,(width*i) div 50,(height*i) div 50); SetWindowRgn(Handle,Rgn,True); DeleteObject(Rgn); Sleep(50); end; end; |
#6
|
||||
|
||||
Saludos
Sin dar muchas vueltas, creo que es mas factible la solucion propuesta por dec.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#7
|
||||
|
||||
Cita:
Saludos.
__________________
And I'd like an hour on the holodeck with Seven of Nine. |
#8
|
|||
|
|||
Realmente da gusto pertenecer al Foro, hace un mes atrás lo dije, y menciono esto porque muchos colaboran con sus conocimientos y experiencias.
Hubo razón en mis sospechas, al cerrar el Form no funciona el Timer. El primer código de Seoane, trabaja muy bien la disolución, pero me parece que en la línea: UpdateWindow(Handle); Realiza UN DESTELLO antes de disolver el Form. ¿A que se debe ello? ¿como evitarlo? Saludos Pd.- De todas maneras probaré todos los otros consejos que aportaron. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Imposible hacer visible un form desde otro form | SMTZ | .NET | 13 | 16-01-2006 21:41:08 |
Al cerrar Form no entra en OnClose | nowheremanza | OOP | 2 | 13-09-2005 14:04:41 |
no cerrar el tray | kaiser_robert | Varios | 8 | 04-07-2005 05:28:00 |
Poner color background del form cuando pierde el foco | Cabanyaler | Gráficos | 4 | 25-11-2004 08:32:03 |
Impedir mover el form y redimensionar al mover barra tareas | jealousy | API de Windows | 0 | 15-06-2004 12:58:05 |
|