efectos para dialogos
efectos para dialogos
Aqui les dejo codigo para algunos efectos para dialogos. Espero le gusten
#include 'fivewin.ch'
#define AW_HOR_POSITIVE 1 // Animates the window from left to right. This flag can be used with roll or slide animation.
#define AW_HOR_NEGATIVE 2 // Animates the window from right to left. This flag can be used with roll or slide animation.
#define AW_VER_POSITIVE 4 // Animates the window from top to bottom. This flag can be used with roll or slide animation.
#define AW_VER_NEGATIVE 8 // Animates the window from bottom to top. This flag can be used with roll or slide animation.
#define AW_CENTER 16 // Makes the window appear to collapse inward if AW_HIDE is used or expand outward if the AW_HIDE is not used.
#define AW_HIDE 65536 // Hides the window. By default, the window is shown.
#define AW_ACTIVATE 131072 // Activates the window.
#define AW_SLIDE 262144 // Uses slide animation. By default, roll animation is used.
#define AW_BLEND 524288 // Uses a fade effect. This flag can be used only if hwnd is a top-level window.
Function Main()
Local oDlg
Local oBtn
Define Dialog oDlg From 10, 10 To 300, 500 Pixel
@ 10, 10 Button oBtn Size 50, 10 Of oDlg Pixel Action oDlg : End()
Activate Dialog oDlg On Init Centra( oDlg ) Centered Valid( Fade( oDlg ), .t. )
Return 0
Function fade( oDlg )
If( AnimateWindow( oDlg : hWnd, 1000, AW_BLEND + AW_HIDE ) == 0 )
oDlg : Hide()
endif
Return 0
Function Centra( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_CENTER )
Return 0
DLL32 function AnimateWindow( hWnd As LONG, dwTime As LONG, dwFlags As LONG ) AS LONG PASCAL ;
from "AnimateWindow" lib "user32.DLL"
#include 'fivewin.ch'
#define AW_HOR_POSITIVE 1 // Animates the window from left to right. This flag can be used with roll or slide animation.
#define AW_HOR_NEGATIVE 2 // Animates the window from right to left. This flag can be used with roll or slide animation.
#define AW_VER_POSITIVE 4 // Animates the window from top to bottom. This flag can be used with roll or slide animation.
#define AW_VER_NEGATIVE 8 // Animates the window from bottom to top. This flag can be used with roll or slide animation.
#define AW_CENTER 16 // Makes the window appear to collapse inward if AW_HIDE is used or expand outward if the AW_HIDE is not used.
#define AW_HIDE 65536 // Hides the window. By default, the window is shown.
#define AW_ACTIVATE 131072 // Activates the window.
#define AW_SLIDE 262144 // Uses slide animation. By default, roll animation is used.
#define AW_BLEND 524288 // Uses a fade effect. This flag can be used only if hwnd is a top-level window.
Function Main()
Local oDlg
Local oBtn
Define Dialog oDlg From 10, 10 To 300, 500 Pixel
@ 10, 10 Button oBtn Size 50, 10 Of oDlg Pixel Action oDlg : End()
Activate Dialog oDlg On Init Centra( oDlg ) Centered Valid( Fade( oDlg ), .t. )
Return 0
Function fade( oDlg )
If( AnimateWindow( oDlg : hWnd, 1000, AW_BLEND + AW_HIDE ) == 0 )
oDlg : Hide()
endif
Return 0
Function Centra( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_CENTER )
Return 0
DLL32 function AnimateWindow( hWnd As LONG, dwTime As LONG, dwFlags As LONG ) AS LONG PASCAL ;
from "AnimateWindow" lib "user32.DLL"
- Carles
- Posts: 1149
- Joined: Fri Feb 10, 2006 2:34 pm
- Location: Barcelona
- Been thanked: 6 times
- Contact:
Horacio,
Muy bueno, gracias
Muy bueno, gracias
Salutacions, saludos, regards
"...programar es fácil, hacer programas es difícil..."
UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
"...programar es fácil, hacer programas es difícil..."
UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
- cuatecatl82
- Posts: 625
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
- cuatecatl82
- Posts: 625
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
-
- Posts: 189
- Joined: Sun Jul 08, 2007 1:46 am
- Location: Uruguay
- Willi Quintana
- Posts: 1023
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
- cuatecatl82
- Posts: 625
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Me tome la libertad de hacer unas modificaciones que permiten ver el efecto de forma aleatoria, para darle un poco de mas vista al ejemplo..
FUNCTION Centra( oDlg )
LOCAL nSel:= nRandom(4)
LOCAL cAni:= ""
IF nSel == 1
cAni:= AW_HOR_POSITIVE
ELSEIF nSel == 2
cAni:= AW_HOR_NEGATIVE
ELSEIF nSel == 3
cAni:= AW_VER_POSITIVE
ELSEIF nSel == 4
cAni:= AW_VER_NEGATIVE
ELSEIF nSel == 0
cAni:= AW_BLEND
ENDIF
AnimateWindow( oDlg : hWnd, 200, cAni )
oDlg:Refresh()
RETURN 0
Saludos desde México..
FUNCTION Centra( oDlg )
LOCAL nSel:= nRandom(4)
LOCAL cAni:= ""
IF nSel == 1
cAni:= AW_HOR_POSITIVE
ELSEIF nSel == 2
cAni:= AW_HOR_NEGATIVE
ELSEIF nSel == 3
cAni:= AW_VER_POSITIVE
ELSEIF nSel == 4
cAni:= AW_VER_NEGATIVE
ELSEIF nSel == 0
cAni:= AW_BLEND
ENDIF
AnimateWindow( oDlg : hWnd, 200, cAni )
oDlg:Refresh()
RETURN 0
Saludos desde México..
- MauroArevalo
- Posts: 107
- Joined: Thu Jan 19, 2006 11:47 pm
- Location: Bogota DC. Colombia
- Has thanked: 2 times
- Contact:
Horacio:
!Espectacular¡ Gracias.
Rubén:
De lo que entendi.
Efecto de izquierda a derecha
*-----------------------------
Function Izquierda( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_HOR_POSITIVE)
oDlg:refres()
Return 0
Efecto de derecha izquierda
*-----------------------------
Function Derecha( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_HOR_NEGATIVE)
oDlg:refres()
Return 0
Efecto de arriba hacia abajo
*-----------------------------
Function Arriba( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_VER_POSITIVE)
oDlg:refres()
Return 0
Efecto de abajo hacia arriba
*-----------------------------
Function Abajo( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_VER_NEGATIVE)
oDlg:refres()
Return 0
El 200 es tiempo y si haces la prueba y aumentas a 500 o 1000 se te demora mucho más el efecto.
Saludos,
!Espectacular¡ Gracias.
Rubén:
De lo que entendi.
Efecto de izquierda a derecha
*-----------------------------
Function Izquierda( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_HOR_POSITIVE)
oDlg:refres()
Return 0
Efecto de derecha izquierda
*-----------------------------
Function Derecha( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_HOR_NEGATIVE)
oDlg:refres()
Return 0
Efecto de arriba hacia abajo
*-----------------------------
Function Arriba( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_VER_POSITIVE)
oDlg:refres()
Return 0
Efecto de abajo hacia arriba
*-----------------------------
Function Abajo( oDlg )
AnimateWindow( oDlg : hWnd, 200, AW_VER_NEGATIVE)
oDlg:refres()
Return 0
El 200 es tiempo y si haces la prueba y aumentas a 500 o 1000 se te demora mucho más el efecto.
Saludos,
Edgar Mauricio Arévalo Mogollón.
Bogotá DC. Colombia
FWH FTDN, xHarbour 1.2.1, Pelles C, Fivedit, Visual Studio Code, Borland 7.30, Mysql, Dbfs
http://www.hymplus.com http://www.hymlyma.com
Tratando de retomar la programación....
Bogotá DC. Colombia
FWH FTDN, xHarbour 1.2.1, Pelles C, Fivedit, Visual Studio Code, Borland 7.30, Mysql, Dbfs
http://www.hymplus.com http://www.hymlyma.com
Tratando de retomar la programación....