FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Efectos de Ventanas
Tengo un form q trabaja como un grid y con un boton se me ejecuta. Quisiera saber como le puedo dar un efecto al mostrar y al ocultar sin usar las api de windows porq deberia de ejecutarse en cualquier version de windows Si me pudieran ayudar agradeceria mucho.....
|
#2
|
||||
|
||||
Hola, al menos deberías explicar qué clase de efectos necesitas, eso es algo extenso
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#3
|
|||
|
|||
Mostrar y ocultar la ventana como si se desvaneciera desde abajo hacia arriba cuando se oculta y arriba hacia abajo cuando se muestra. no lento pero no tan rapido me entiendes???
|
#4
|
||||
|
||||
con TForms no se como se pueda hacer, pero con las DevExpress, puedes usar un TDockPanel, agregar páneles y listo.
__________________
|
#5
|
||||
|
||||
El efecto de desvanecerse está disponible desde windows 2000 (con algún service pack) o superior y en delphi, creo recordar que desde delphi 6 con las propiedades AlphaBlend, etc...
¿de verdad tienes windows 95/98 todavía por ahí? Algo que sí te va a funcionar en todos los windows es el "Roll up" esto es, decrementar el Height y width del TForm hasta que sean muy pequeños y después ocultar la ventana. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
|||
|
|||
no entiendo exactamente lo qme dices papa y como es un programa administrativo no deseo tener problemas con que windows usan los clientes por eso no quiero meterme en eso. Si me podrias explicar eso q me dijiste seria de mucha ayuda estoy urgido por solucionar ese incomveniente
|
#7
|
||||
|
||||
Pon esto en un botón de la ventana que quieres ocultar:
En otro botón, pon este código, hará la animación de mostrarse:
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#8
|
|||
|
|||
ok entiendo porq mandas a ejecutar dos veces el aplication.processmessages eso no lo entiendo
|
#9
|
||||
|
||||
En principio, al haber 2 llamadas, hace una pausa más grande, ya que los eventos de repintado tienen poca prioridad en windows.
La verdad, ese código tiene bastante tiempo, no recuerdo si produce algún tipo de fallo al repintar, con uno debería bastar. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#10
|
|||
|
|||
entiendo porq yo hize uno pero con el form como si fuera un grid y bueno no me da problemas pero al hacer click a donde se activa otro evento la primera vez funciona bien pero despues mientras hace el cerrado del form y se activa el otro evento pareciera q no terminara el proceso y deja la mitad del form ahi. cuando se termina la ejecucion del otro regresa al del form lo termina de cerrar y como el optro evento q uso tiene el evento repeatclick se vuelva a ejecutar y no se ve nada bien. No se como solucionar el problema por eso te pregunto sobre el metodo application.processmessages porq yo uso solo uno no se si deba colocar dos o hay otra forma de hacerlo de todas maneras aqui te paso el codigo ahi solo le faltan las coordenadas de donde se encuentra el grid pero ese funciona
procedure TFFComboBox.EjecutarEfecto(canActivate :Boolean ; pSize :Integer ; pAlign :tAlign ); var nSize: integer; begin nSize := 0; while nSize < GRID_ComboBox.Height +4 do begin nSize := nSize + pSize; if (nSize > GRID_ComboBox.Height +4) then pSize := (GRID_ComboBox.Height - (nSize - pSize)) + 2; //Formulario Activo if canActivate = True then begin if not (Height > GRID_ComboBox.Height +4) then Height := Height + pSize; end //oculta el formulario else if canActivate = False then begin if not (Height = 0) then begin Height := Height - pSize; end end; Application.ProcessMessages; end; end; |
#11
|
||||
|
||||
No entiendo muy bien tu explicación, pero según dices, deberías sustituir el Application.processmessages por Update.
Processmessages hace que el programa "respire", por eso permite intercalar la ejecución de ese otro evento mientras se está cerrando el Form. Update lo que hace es forzar el repintado de la ventana, pero no deja "respirar" a la aplicación. En este caso, mientras se esté cerrando el Form, no permitirá ejecutar intercalar la ejecución de ese evento que hablas. Prueba a ver. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Efectos del Calor | FGarcia | La Taberna | 13 | 14-05-2008 00:12:00 |
Efectos a Imagenes | sac | Gráficos | 7 | 18-07-2007 21:13:58 |
Ventanas,Ventanas Mdi=Dolor de cabeza ? | IVAND | Varios | 7 | 08-05-2006 17:27:24 |
Efectos de Ventanas | Aldo | API de Windows | 2 | 29-03-2005 11:24:22 |
efectos de la marihuana | haron | Humor | 12 | 26-05-2004 07:04:19 |
|