Desde la version de xHarbour 0.99 he utilizado este codigo para animar aleatoriamente el inicio y final de cada ventana, sin embargo con la version de xHarbour 1.2.3. (build 20161218) y Bc7 me envia en error 9003.
Con esta version ultima de xHarbour que cambia en el llamado de esta API ?
(es una aportacion del foro)
Code: Select all | Expand
ACTIVATE DIALOG oPD CENTERED ON INIT NW_ANIMA( oPD ) ; Valid( Fade( oPD ), .T. )*--------------------------------------------------------------*FUNCTION NW_ANIMA( oDlg )*--------------------------------------------------------------*LOCAL nSel:= nRandom(6)LOCAL cAni:= ""IF nSel == 1 //a) desde la esquina inferior izquierda hasta la esquina superior derecha: cAni:= AW_VER_NEGATIVE + AW_HOR_POSITIVE + AW_SLIDE + AW_ACTIVATEELSEIF nSel == 2 //b) desde la esquina inferior derecha hasta la esquina superior izquierda: cAni:= AW_HOR_NEGATIVE + AW_VER_NEGATIVE + AW_SLIDE + AW_ACTIVATEELSEIF nSel == 3 //c) desde la esquina superior derecha hasta la esquina inferior izquierda: cAni:= AW_HOR_NEGATIVE + AW_VER_POSITIVE + AW_SLIDE + AW_ACTIVATEELSEIF nSel == 4 //d) Aparecer desplazandose de izquierda a derecha cAni:= AW_HOR_POSITIVE + AW_SLIDE + AW_ACTIVATEELSEIF nSel == 5 //e) desde la esquina superior izquierda hasta la esquina inferior derecha: cAni:= AW_HOR_POSITIVE + AW_VER_POSITIVE + AW_SLIDE + AW_ACTIVATEELSEIF nSel == 6 //f) aparecer desde el centro: cAni:= AW_CENTER + AW_SLIDE + AW_ACTIVATEELSEIF nSel == 0 cAni:= AW_BLENDENDIF AnimateWindow( oDlg:hWnd, 500, cAni )oDlg:Refresh()RETURN 0DLL32 FUNCTION AnimateWindow( hWnd As LONG, dwTime As LONG, dwFlags As LONG ) AS LONG PASCAL ; from "AnimateWindow" lib "user32.DLL"*--------------------------------------------------------------*FUNCTION fade( oDlg, oWner )*--------------------------------------------------------------*LOCAL nSel:= nRandom(6)LOCAL cAni:= AW_VER_NEGATIVE + AW_HOR_POSITIVE + AW_SLIDE + AW_HIDEIF nSel == 1 //a) desde la esquina inferior izquierda hasta la esquina superior derecha: cAni:= AW_VER_NEGATIVE + AW_HOR_POSITIVE + AW_SLIDE + AW_HIDEELSEIF nSel == 2 //b) desde la esquina inferior derecha hasta la esquina superior izquierda: cAni:= AW_HOR_NEGATIVE + AW_VER_NEGATIVE + AW_SLIDE + AW_HIDEELSEIF nSel == 3 //c) desde la esquina superior derecha hasta la esquina inferior izquierda: cAni:= AW_HOR_NEGATIVE + AW_VER_POSITIVE + AW_SLIDE + AW_HIDEELSEIF nSel == 4 //d) Aparecer desplazandose de izquierda a derecha cAni:= AW_HOR_POSITIVE + AW_SLIDE + AW_HIDEELSEIF nSel == 5 //e) desde la esquina superior izquierda hasta la esquina inferior derecha: cAni:= AW_HOR_POSITIVE + AW_VER_POSITIVE + AW_SLIDE + AW_HIDEELSEIF nSel == 6 //f) aparecer desde el centro: cAni:= AW_CENTER + AW_SLIDE + AW_HIDE//ELSEIF nSel == 0// cAni:= AW_BLEND + AW_HIDEENDIFAnimateWindow( oDlg : hWnd, 500, cAni )oDlg : Hide()AnimateWindow( oDlg : hWnd, 500, AW_BLEND + AW_SLIDE + AW_ACTIVATE + AW_HIDE)IF !EMPTY(oWner) //AnimateWindow( oDlg : hWnd, 500, AW_BLEND + AW_SLIDE + AW_ACTIVATE+AW_HIDE) //oWner : show() oWner : setcontrol() oWner : setfocus()ENDIFRETURN 0