//-----------------------------------------------------------------------------
//Muestra videos del animal
STATIC FUNCTION TarA_MV(aTDBF,oDlgA) //Arreglo para los campos
LOCAL oWndV,oActiveX,oBarV,oBtnXDef,oBtnA,oSayN,oBtnP
//Proceso para mostrar videos
aTDBF[DfFot]:="Mostrando videos..." ; oDlgA:UPDATE()
DEFINE WINDOW oWndV MDICHILD FROM 0,0 TO 524,420 OF M->VP[VP_oVPr] PIXEL TITLE "Videos "+aTDBF[DDesA] HELPID "HID_TarAni_MFV"
DEFINE BUTTONBAR oBarV 3D SIZE 58,58 OF oWndV
//Botones para terminar
DEFINE BUTTON oBtnXDef FILENAME DirSist+"BSalir.BMP" OF oBarV ;
ACTION oWndV:END() TOOLTIP "Cerrar la ventana y Salir" //Salva el estado de las columnas del listado y se sale
//Define resto de la ventana
@ 58,0 ACTIVEX oActiveX PROGID "MediaPlayer.MediaPlayer.1" OF oWndV SIZE 400,400
@ 463,0 BUTTON oBtnA PROMPT "<" SIZE 20,20 OF oWndV PIXEL UPDATE ; //Boton para ver el video anterior
ACTION ( aTDBF[DnVid]-=1 ; //No. del video anterior
,TarA_MVP(oActiveX,aTDBF),aTDBF:=TarA_DF(aTDBF) ; //Corre el video
,oWndV:UPDATE(),oWndV:aEvalWhen() ) ; //Refresca la ventana
MESSAGE "Ver el video anterior" WHEN ( aTDBF[DnVid]>1 )
@ 466,25 SAY oSayN VAR aTDBF[DfVid] OF oWndV UPDATE PIXEL COLOR "B/W"
@ 463,380 BUTTON oBtnP PROMPT ">" SIZE 20,20 OF oWndV PIXEL UPDATE ; //Boton para ver el Video posterior
ACTION ( aTDBF[DnVid]+=1 ; //No. del video posterior
,TarA_MVP(oActiveX,aTDBF),aTDBF:=TarA_DF(aTDBF) ; //Corre el video
,oWndV:UPDATE(),oWndV:aEvalWhen() ) ; //Refresca la ventana
MESSAGE "Ver el video posterior" WHEN ( aTDBF[DnVid]<LEN(aTDBF[DaVid]) )
ACTIVATE WINDOW oWndV ;
ON RESIZE (TarA_ResizeV(oWndV,oActiveX,oBtnA,oSayN,oBtnP)) ; //Ajusta el Video,BotonAnt,NombVideo,BotonPos al tamaño de la ventana
ON INIT ( TarA_MVP(oActiveX,aTDBF),ColocaMB(oBtnXDef) ) ;
VALID( oActiveX:END(),oBarV:END(),aTDBF[DFoVi]:=1,TarA_DF(aTDBF),oDlgA:UPDATE(),oDlgA:aEvalWhen(),.T. ) //Al avandonar la ventana del video, Cierra el objeto video, Define que esta mostrando fotos, Define la foto a mostrar
RETURN(aTDBF)
//-----------------------------------------------------------------------------
//Define Nombre del archivo de la Foto/Video a mostrar
STATIC FUNCTION TarA_DF(aTDBF) //Arreglo para los campos
IF EMPTY(aTDBF[DaVid]) //Si no hay viedos
aTDBF[DfVid]:=""
ELSE
aTDBF[DfVid]:="Video: "+LTRIM(STR(aTDBF[DnVid]))+"/"+LTRIM(STR(LEN(aTDBF[DaVid])))+" - "+STRTRAN(aTDBF[DaVid,aTDBF[DnVid]],DirVide,"") //Regresa el nombre del archivo que contiene el video
ENDIF
RETURN(aTDBF)
//-----------------------------------------------------------------------------
//Activa propiedades del video a mostrar
STATIC FUNCTION TarA_MVP(oActiveX,aTDBF) //Objeto ActiveX, Arreglo con campos
oActiveX:AllowChangeDisplaySize:=.T.
oActiveX:AutoSize:=.T. //El tamaño del video sera automatico? Debe estar activado AllowChangeDisplaySize:=.T.
oActiveX:DisplaySize:=7 //
oActiveX:ShowControls:=.T. //Se muestran los controles del video principales? (Play, Pausa, Stop)
oActiveX:AllowScan:=.T. //Activa/Desactiva el modo para ser usado con ShowPositionControls:=.T. (Funciona con WMV. No con AVI,MPG)
oActiveX:ShowPositionControls:=.T. //Se muestran los controles de video para mover su posicion?. AllowScan:=.T. debe estar activado (IrAlInicio, RegresoRaripo, AvenceRapido, IrAlFinal)
oActiveX:ShowStatusBar:=.T. //Se muestra la linea que contiene el estado del video? (Nombre del video, Tiempo reproducido/Tiempo total)
oActiveX:SetProp("FileName",aTDBF[DaVid,aTDBF[DnVid]])
oActiveX:Do("Play")
RETURN(NIL)
//----------------------------------------------------------------------------//
//Ajusta tamaño de los componentes de la ventana
STATIC FUNCTION TarA_ResizeV(oWndV,oActiveX,oBtnA,oSayN,oBtnP) //Ventana,Video,BotonAnt,NombVideo,BotonPos
LOCAL oRect:=oWndV:GetCliRect(M->VP[VP_oVPr])
oActiveX:Move(58,0,oRect:nRight-oRect:nLeft-5,oRect:nBottom-oRect:nTop-90,.T.) //Mueve la ventana del video
oBtnA:Move(oRect:nBottom-25,0,,,.T.) //Mueve el Boton para ver el video anterior
oSayN:Move(oRect:nBottom-22,25,,,.T.) //Mueve el lugar donde se muestra el nombre del archivo
oBtnP:Move(oRect:nBottom-25,oRect:nRight-25,,,.T.) //Mueve el Boton para ver el video posterior
RETURN(NIL)