************************************************ *-- Class: Animation ************************************************ * Author............: Daniel Gramunt * Created...........: 17.05.99 17:03:36 *) Description.......: Displays an animation (AVI) using the animation control that *) : ships with VFP. *) : Handy for processes for which you cannot use a thermometer. * Calling Samples...: oAnimation = NEWOBJECT("Animation", "avi.prg", "",; * : "Creating PDF file",; * : "PDF converter",; * : "FileToPdf.avi") * Parameter List....: * Major change list.: *-------------------------------------------------------------------------------------------------- DEFINE CLASS Animation AS form DataSession = 1 Height = 85 Width = 360 AutoCenter = .T. Caption = "" ControlBox = .F. Closable = .F. ClipControls = .F. Name = "frmAnimation" ADD OBJECT lblMessage AS label WITH ; WordWrap = .T., ; Caption = "Your message goes here...", ; Left = 6, ; Top = 2, ; Width = 355, ; Name = "lblMessage" PROCEDURE Load This.AddObject("oleAnimation", "oleControl", "MsComCtl2.Animation.2") WITH This.oleAnimation .Top = 28 .Left = 46 .Visible = .f. ENDWITH ENDPROC PROCEDURE Init * Parameter List....: tcMessage - Message to display. Optional. * : tcCaption - Form caption. Optional. * : If omitted, the form doesn't have a title bar * : tcAviFile - Animation file to display (default = fileCopy.avi) * Major change list.: *-------------------------------------------------------------------------------------------------- LPARAMETER tcMessage, tcCaption, tcAviFile WITH This *-- check parameters ------------------------------------------------------------------------------ IF TYPE("tcMessage") <> "C" OR EMPTY(tcMessage) tcMessage = "Processing. Please be patient..." ENDIF IF TYPE("tcCaption") <> "C" OR EMPTY(tcCaption) *-- no caption, so we remove the title bar .TitleBar = 0 ELSE .TitleBar = 1 .caption = tcCaption ENDIF IF TYPE("tcAviFile") <> "C" tcAviFile = "fileCopy.avi" ENDIF .lblMessage.caption = tcMessage .aviPlay(tcAviFile) .show() ENDWITH ENDPROC PROCEDURE AviPlay LPARAMETERS tcAviFile *-- make sure file exists IF FILE(tcAviFile) *-- update animation WITH ThisForm.oleAnimation .visible = .f. .stop .open(FULLPATH(tcAviFile)) .play() .Height = 60 .Width = 275 .visible = .t. ENDWITH ENDIF ENDPROC ENDDEFINE