Attribute VB_Name = "MediaEdit"
Option Explicit

Public RutaPerfil As String
Public PerfilAbierto As Appfilesadm.PerfEdit
Private PerfilAbiertoOriginal As Appfilesadm.PerfEdit
Public BloquearRefreshBuffer As Byte
Public MEManualMode As Byte

Public Sub IniciarMediaEdit(Optional FileName As String, Optional ModeManual As Byte = 0)
Dim i As Integer, FormsStatus() As Boolean, EnEjecucion As Boolean
Dim BuferE As Appfilesadm.PerfEdit
ReDim FormsStatus(0 To Forms.Count - 1)
For i = 0 To Forms.Count - 1
FormsStatus(i) = Forms(i).Visible
Forms(i).Visible = False
Next

Load Form8
Form8.Width = 6960
If ModeManual = 0 Then
Form8.Height = 5350
Else
Form8.Height = 5350 + Form8.Picture6.Height
Form8.File_Close.Visible = False
Form8.File_Exit.Visible = False
Form8.File_Open.Visible = False
RutaPerfil = App.Path & "\appfiles\editp\.lep"
Form8.Picture6.Visible = True
End If
If FileName <> "" Then Call MediaEdit.AbrirPerfil(Replace(App.Path & "\appfiles\editp\" & FileName & ".lep", "*", ""))
MEManualMode = ModeManual

EnEjecucion = True
While EnEjecucion
DoEvents
EnEjecucion = False
For i = 0 To Forms.Count - 1
If Forms(i) Is Form8 Then
EnEjecucion = True
Exit For
End If
Next
Wend

If MEManualMode = 1 Then
RutaPerfil = ""
PerfilAbierto = BuferE
PerfilAbiertoOriginal = BuferE
BloquearRefreshBuffer = 0
MEManualMode = 0
End If

For i = 0 To Forms.Count - 1
Forms(i).Visible = FormsStatus(i)
Next
End Sub
Private Sub PasarBufferAControles()
Dim i As Byte
BloquearRefreshBuffer = 1
With PerfilAbierto
Form8.Text9.Text = .AgBorde_Abajo
Form8.Combo12.ListIndex = .AgBorde_AbajoU
Form8.Text7.Text = .AgBorde_Arriba
Form8.Combo11.ListIndex = .AgBorde_ArribaU
Form8.Text3.Text = .AgBorde_Derecha
Form8.Combo9.ListIndex = .AgBorde_DerechaU
Form8.Text5.Text = .AgBorde_Izquierda
Form8.Combo10.ListIndex = .AgBorde_IzquierdaU
Form8.Picture2.BackColor = ColorRGBHexALong(.AgBorde_Color)
Call SeleccionarFiltros
Form8.Text24.Text = .CamTam_Alto
Form8.Combo6.ListIndex = .CamTam_AltoU
Form8.Text25.Text = .CamTam_Ancho
Form8.Combo7.ListIndex = .CamTam_AnchoU
Select Case .CamTam_RelAspOp
Case Is = 1: Form8.Option3.Value = True
Case Is = 2: Form8.Option1.Value = True
Case Is = 3: Form8.Option2.Value = True
Case Else: Form8.Option3.Value = True
End Select
Form8.Text2.Text = .CamTam_RelAspVal
Form8.Text26.Text = .CamVol_Val
Form8.Text30.Text = .CmdL_Entrada
Form8.Text29.Text = .CmdL_Salida
Form8.Check7.Value = .ElimA_Val
Form8.Check4.Value = .ElimS_Val
Form8.Check3.Value = .ElimV_Val
For i = 1 To 10
Form8.Text14(i - 1).Text = .Equ_Val(1, i)
Form8.Text27(i - 1).Text = .Equ_Val(2, i)
Form8.Text32(i - 1).Text = .Equ_Val(3, i)
Form8.Shape1(i - 1).Top = CSng(.Equ_Val(2, i)) / -24 + 0.5
Next
Form8.Text19.Text = .RecCua_Alto
Form8.Combo3.ListIndex = .RecCua_AltoU
Form8.Text17.Text = .RecCua_Ancho
Form8.Combo2.ListIndex = .RecCua_AnchoU
Form8.Text20.Text = .RecCua_PosX
Form8.Combo4.ListIndex = .RecCua_PosXU
Form8.Text21.Text = .RecCua_PosY
Form8.Combo5.ListIndex = .RecCua_PosYU
Form8.Combo8.ListIndex = .RecSec_DuracionU
Form8.Text1.Text = .RecSec_Duracion(.RecSec_DuracionU + 1)
Form8.Text33.Text = .RecSec_Fin
Form8.Text31.Text = .RecSec_Inicio
Form8.Text34.Text = .RutaSubtitulos
Form8.Check5.Value = .GrabarSubtitulos
Form8.Combo1.ListIndex = .IndiceSubtitulos
Form8.Check2.Value = .UsarIndiceSubtitulos
Form8.Combo15.ListIndex = .AlgoritmoReescale
Form8.Combo14.ListIndex = .RellenoBordeOpt
Call AlternarControlesRellenoBorde
Form8.Text35.Text = .RutaImagenBorde
Form8.Combo16.ListIndex = .EfectoRelleno
If .RecSec_Opt = 2 Then Form8.Option5.Value = True Else Form8.Option4.Value = True
Form8.Check6.Value = .OverlayOpt
Form8.Text350.Text = .OverlayPath
Form8.Check9.Value = .OVerlayRedim
Form8.Text360.Text = .OverlayRedimAncho
Form8.Text37.Text = .OverlayRedimAlto
Form8.Combo21.ListIndex = .OverlayRedimAnchoUnit
Form8.Combo22.ListIndex = .OverlayRedimAltoUnit
Form8.Check8.Value = .OverlayTrans
Form8.Picture8.BackColor = RGB(.OverlayTransColorR, .OverlayTransColorG, .OverlayTransColorB)
Form8.Text38.Text = .OverlayMargenSup
Form8.Text39.Text = .OverlayMargenInf
Form8.Text40.Text = .OverlayMargenIzq
Form8.Text41.Text = .OverlayMargenDer
Form8.Combo17.ListIndex = .OverlayMargenSupUnit
Form8.Combo18.ListIndex = .OverlayMargenInfUnit
Form8.Combo19.ListIndex = .OverlayMargenIzqUnit
Form8.Combo20.ListIndex = .OverlayMargenDerUnit
Form8.Check10.Value = .OVerlayOpacidadOpt
Form8.Combo23.ListIndex = .OverlayOpacidadPor
Call ActualizarOverlayGraphPos
Call HDesHControlesOverlay
End With
BloquearRefreshBuffer = 0
End Sub
Private Function ColorRGBHexALong(ColorHex As String) As Long
On Error GoTo ErrH
ColorRGBHexALong = 0
ColorRGBHexALong = RGB(CInt(Val("&H" & Left(ColorHex, 2))), CInt(Val("&H" & Mid(ColorHex, 3, 2))), CInt(Val("&H" & Right(ColorHex, 2))))
ErrH:
End Function
Private Sub SeleccionarFiltros()
Dim i As Integer, j As Integer, FilNotFound() As String, k As Integer
Dim Encontrado As Byte, FilList As String, Filters() As String, m As Integer
On Error GoTo ErrH
k = 0
m = 0
For i = LBound(PerfilAbierto.ApFiltros) To UBound(PerfilAbierto.ApFiltros)
j = 0
Encontrado = 0
While j < Form8.List2.ListCount And Encontrado = 0
If LCase(Form8.List2.List(j)) = LCase(PerfilAbierto.ApFiltros(i)) Then
Form8.List2.Selected(j) = True
Encontrado = 1
End If
j = j + 1
Wend
j = 0
While j < Form8.List3.ListCount And Encontrado = 0
If LCase(Form8.List3.List(j)) = LCase(PerfilAbierto.ApFiltros(i)) Then
Form8.List3.Selected(j) = True
Encontrado = 1
End If
j = j + 1
Wend
j = 0
While j < Form8.List4.ListCount And Encontrado = 0
If LCase(Form8.List4.List(j)) = LCase(PerfilAbierto.ApFiltros(i)) Then
Form8.List4.Selected(j) = True
Encontrado = 1
End If
j = j + 1
Wend
If Encontrado = 0 Then
k = k + 1
ReDim Preserve FilNotFound(1 To k)
FilNotFound(k) = PerfilAbierto.ApFiltros(i)
Else
m = m + 1
ReDim Preserve Filters(1 To m)
Filters(m) = PerfilAbierto.ApFiltros(i)
End If
Next
If k > 0 Then
FilList = Join(FilNotFound, vbCrLf)
Lang.EditMMsgFilterNotFound (FilList)
Erase PerfilAbierto.ApFiltros
PerfilAbierto.ApFiltros = Filters
End If
ErrH:
End Sub
Private Sub InicializarValEqu()
Dim i As Byte
With PerfilAbierto
If IsNumeric(.Equ_Val(1, 1)) = False Then .Equ_Val(1, 1) = "31"
If IsNumeric(.Equ_Val(1, 2)) = False Then .Equ_Val(1, 2) = "63"
If IsNumeric(.Equ_Val(1, 3)) = False Then .Equ_Val(1, 3) = "125"
If IsNumeric(.Equ_Val(1, 4)) = False Then .Equ_Val(1, 4) = "250"
If IsNumeric(.Equ_Val(1, 5)) = False Then .Equ_Val(1, 5) = "500"
If IsNumeric(.Equ_Val(1, 6)) = False Then .Equ_Val(1, 6) = "1000"
If IsNumeric(.Equ_Val(1, 7)) = False Then .Equ_Val(1, 7) = "2000"
If IsNumeric(.Equ_Val(1, 8)) = False Then .Equ_Val(1, 8) = "4000"
If IsNumeric(.Equ_Val(1, 9)) = False Then .Equ_Val(1, 9) = "8000"
If IsNumeric(.Equ_Val(1, 10)) = False Then .Equ_Val(1, 10) = "16000"
For i = 1 To 10
If IsNumeric(.Equ_Val(2, i)) = False Then .Equ_Val(2, i) = "0"
If IsNumeric(.Equ_Val(3, i)) = False Then .Equ_Val(3, i) = "1"
Next
End With
With PerfilAbiertoOriginal
If IsNumeric(.Equ_Val(1, 1)) = False Then .Equ_Val(1, 1) = "31"
If IsNumeric(.Equ_Val(1, 2)) = False Then .Equ_Val(1, 2) = "63"
If IsNumeric(.Equ_Val(1, 3)) = False Then .Equ_Val(1, 3) = "125"
If IsNumeric(.Equ_Val(1, 4)) = False Then .Equ_Val(1, 4) = "250"
If IsNumeric(.Equ_Val(1, 5)) = False Then .Equ_Val(1, 5) = "500"
If IsNumeric(.Equ_Val(1, 6)) = False Then .Equ_Val(1, 6) = "1000"
If IsNumeric(.Equ_Val(1, 7)) = False Then .Equ_Val(1, 7) = "2000"
If IsNumeric(.Equ_Val(1, 8)) = False Then .Equ_Val(1, 8) = "4000"
If IsNumeric(.Equ_Val(1, 9)) = False Then .Equ_Val(1, 9) = "8000"
If IsNumeric(.Equ_Val(1, 10)) = False Then .Equ_Val(1, 10) = "16000"
For i = 1 To 10
If IsNumeric(.Equ_Val(2, i)) = False Then .Equ_Val(2, i) = "0"
If IsNumeric(.Equ_Val(3, i)) = False Then .Equ_Val(3, i) = "1"
Next
End With
End Sub

Public Sub DescartarCambiosEnPerfil()
PerfilAbierto = PerfilAbiertoOriginal
Call PasarBufferAControles
End Sub

Public Sub AbrirPerfil(Optional ByVal Ruta As String)
Dim NumeroArchivo, BEditP As PerfEdit
If MEManualMode = 0 Then: If CerrarPerfil = False Then Exit Sub
If Ruta = "" Then
Ruta = Appfilesadm.IniciarAdministrador(App.Path & "\appfiles\editp", "lep", 1, True)
If Ruta = "" Then Exit Sub
End If
If ScriptObj.ExisteArchivo(Ruta) = False Then
If ScriptObj.NombreBase(Ruta) <> "" Then
Lang.MsgFileNotFound
Exit Sub
Else
PerfilAbierto = BEditP
GoTo Actualizar
End If
End If
NumeroArchivo = FreeFile
On Error GoTo ErrH
Open Ruta For Binary As NumeroArchivo
Get NumeroArchivo, , PerfilAbierto
Close NumeroArchivo
Actualizar:
If MEManualMode = 0 Then
PerfilAbiertoOriginal = PerfilAbierto
RutaPerfil = Ruta
End If
Call InicializarValEqu
Call PasarBufferAControles
Exit Sub
ErrH:
Lang.MsgCantFileRead (Ruta)
End Sub

Public Function GuardarPerfil(Optional ByVal Ruta As String) As Boolean
Dim NumeroArchivo As Integer, SavePath As String
GuardarPerfil = False
If Ruta = "" Then
Ruta = Appfilesadm.IniciarAdministrador(App.Path & "\appfiles\editp", "lep", 2, True)
If Ruta = "" Then Exit Function
End If
If ScriptObj.CrearArbol(App.Path & "\appfiles\editp") = False Then
Lang.MsgCanotCreateDir (App.Path & "\appfiles\editp")
End If
On Error GoTo ErrH
NumeroArchivo = FreeFile
Open Ruta For Binary As NumeroArchivo
Put NumeroArchivo, , PerfilAbierto
Close NumeroArchivo
If MEManualMode = 0 Then RutaPerfil = Ruta
If MEManualMode = 0 Or (LCase(Ruta) = LCase(RutaPerfil)) Then PerfilAbiertoOriginal = PerfilAbierto
GuardarPerfil = True
Exit Function
ErrH:
Lang.MsgCantWriteFile (Ruta)
End Function

Public Function CerrarPerfil() As Boolean
Dim Buffer As Appfilesadm.PerfEdit
CerrarPerfil = False
If PerfHuboCambios = True Then
Select Case Lang.QuestionSaveChanges(ScriptObj.NombreBase(RutaPerfil))
Case Is = vbCancel: Exit Function
Case Is = vbYes: If GuardarPerfil(RutaPerfil) = False Then Exit Function
End Select
End If
PerfilAbierto = Buffer
PerfilAbiertoOriginal = Buffer
RutaPerfil = ""
Call InicializarValEqu
Call PasarBufferAControles
CerrarPerfil = True
End Function

Public Function PerfHuboCambios() As Boolean
Dim Ret As Boolean, i As Byte, FiltL As String, FiltL2 As String
PerfHuboCambios = False
Ret = (PerfilAbierto.AgBorde_Abajo <> PerfilAbiertoOriginal.AgBorde_Abajo) Or _
(PerfilAbierto.AgBorde_AbajoU <> PerfilAbiertoOriginal.AgBorde_AbajoU) Or _
(PerfilAbierto.AgBorde_Arriba <> PerfilAbiertoOriginal.AgBorde_Arriba) Or _
(PerfilAbierto.AgBorde_ArribaU <> PerfilAbiertoOriginal.AgBorde_ArribaU) Or _
(PerfilAbierto.AgBorde_Color <> PerfilAbiertoOriginal.AgBorde_Color) Or _
(PerfilAbierto.AgBorde_Derecha <> PerfilAbiertoOriginal.AgBorde_Derecha) Or _
(PerfilAbierto.AgBorde_DerechaU <> PerfilAbiertoOriginal.AgBorde_DerechaU) Or _
(PerfilAbierto.AgBorde_Izquierda <> PerfilAbiertoOriginal.AgBorde_Izquierda) Or _
(PerfilAbierto.AgBorde_IzquierdaU <> PerfilAbiertoOriginal.AgBorde_IzquierdaU) Or _
(PerfilAbierto.CamTam_Alto <> PerfilAbiertoOriginal.CamTam_Alto) Or _
(PerfilAbierto.CamTam_AltoU <> PerfilAbiertoOriginal.CamTam_AltoU) Or _
(PerfilAbierto.CamTam_Ancho <> PerfilAbiertoOriginal.CamTam_Ancho) Or _
(PerfilAbierto.CamTam_AnchoU <> PerfilAbiertoOriginal.CamTam_AnchoU) Or _
(PerfilAbierto.CamTam_RelAspOp <> PerfilAbiertoOriginal.CamTam_RelAspOp) Or _
(PerfilAbierto.CamTam_RelAspVal <> PerfilAbiertoOriginal.CamTam_RelAspVal) Or _
(PerfilAbierto.CamVol_Val <> PerfilAbiertoOriginal.CamVol_Val) Or _
(PerfilAbierto.CmdL_Entrada <> PerfilAbiertoOriginal.CmdL_Entrada) Or _
(PerfilAbierto.CmdL_Salida <> PerfilAbiertoOriginal.CmdL_Salida) Or _
(PerfilAbierto.ElimA_Val <> PerfilAbiertoOriginal.ElimA_Val) Or _
(PerfilAbierto.ElimS_Val <> PerfilAbiertoOriginal.ElimS_Val) Or _
(PerfilAbierto.ElimV_Val <> PerfilAbiertoOriginal.ElimV_Val) Or _
(PerfilAbierto.RecCua_Alto <> PerfilAbiertoOriginal.RecCua_Alto) Or _
(PerfilAbierto.RecCua_AltoU <> PerfilAbiertoOriginal.RecCua_AltoU) Or _
(PerfilAbierto.RecCua_Ancho <> PerfilAbiertoOriginal.RecCua_Ancho) Or _
(PerfilAbierto.RecCua_AnchoU <> PerfilAbiertoOriginal.RecCua_AnchoU)
PerfHuboCambios = Ret
If Ret = True Then Exit Function
Ret = (PerfilAbierto.RecCua_PosX <> PerfilAbiertoOriginal.RecCua_PosX) Or _
(PerfilAbierto.RecCua_PosXU <> PerfilAbiertoOriginal.RecCua_PosXU) Or _
(PerfilAbierto.RecCua_PosY <> PerfilAbiertoOriginal.RecCua_PosY) Or _
(PerfilAbierto.RecCua_PosYU <> PerfilAbiertoOriginal.RecCua_PosYU) Or _
(PerfilAbierto.RecSec_Duracion(1) <> PerfilAbiertoOriginal.RecSec_Duracion(1)) Or _
(PerfilAbierto.RecSec_Duracion(2) <> PerfilAbiertoOriginal.RecSec_Duracion(2)) Or _
(PerfilAbierto.RecSec_Duracion(3) <> PerfilAbiertoOriginal.RecSec_Duracion(3)) Or _
(PerfilAbierto.RecSec_DuracionU <> PerfilAbiertoOriginal.RecSec_DuracionU) Or _
(PerfilAbierto.RecSec_Fin <> PerfilAbiertoOriginal.RecSec_Fin) Or _
(PerfilAbierto.RecSec_Inicio <> PerfilAbiertoOriginal.RecSec_Inicio) Or _
(PerfilAbierto.RecSec_Opt <> PerfilAbiertoOriginal.RecSec_Opt)
PerfHuboCambios = Ret
If Ret = True Then Exit Function
For i = 1 To 10
Ret = PerfilAbierto.Equ_Val(1, i) <> PerfilAbiertoOriginal.Equ_Val(1, i) Or _
PerfilAbierto.Equ_Val(2, i) <> PerfilAbiertoOriginal.Equ_Val(2, i) Or _
PerfilAbierto.Equ_Val(3, i) <> PerfilAbiertoOriginal.Equ_Val(3, i)
PerfHuboCambios = Ret
If Ret = True Then Exit Function
Next
Ret = (PerfilAbierto.GrabarSubtitulos <> PerfilAbiertoOriginal.GrabarSubtitulos) Or _
(PerfilAbierto.IndiceSubtitulos <> PerfilAbiertoOriginal.IndiceSubtitulos) Or _
(PerfilAbierto.RutaSubtitulos <> PerfilAbiertoOriginal.RutaSubtitulos) Or _
(PerfilAbierto.UsarIndiceSubtitulos <> PerfilAbiertoOriginal.UsarIndiceSubtitulos) Or _
(PerfilAbierto.AlgoritmoReescale <> PerfilAbiertoOriginal.AlgoritmoReescale) Or _
(PerfilAbierto.RellenoBordeOpt <> PerfilAbiertoOriginal.RellenoBordeOpt) Or _
(PerfilAbierto.RutaImagenBorde <> PerfilAbiertoOriginal.RutaImagenBorde) Or _
(PerfilAbierto.EfectoRelleno <> PerfilAbiertoOriginal.EfectoRelleno)
PerfHuboCambios = Ret
If Ret = True Then Exit Function
Ret = (PerfilAbierto.OverlayMargenDer <> PerfilAbiertoOriginal.OverlayMargenDer) Or _
(PerfilAbierto.OverlayMargenDerUnit <> PerfilAbiertoOriginal.OverlayMargenDerUnit) Or _
(PerfilAbierto.OverlayMargenIzq <> PerfilAbiertoOriginal.OverlayMargenIzq) Or _
(PerfilAbierto.OverlayMargenIzqUnit <> PerfilAbiertoOriginal.OverlayMargenIzqUnit) Or _
(PerfilAbierto.OverlayMargenSup <> PerfilAbiertoOriginal.OverlayMargenSup) Or _
(PerfilAbierto.OverlayMargenSupUnit <> PerfilAbiertoOriginal.OverlayMargenSupUnit) Or _
(PerfilAbierto.OverlayMargenInf <> PerfilAbiertoOriginal.OverlayMargenInf) Or _
(PerfilAbierto.OverlayMargenInfUnit <> PerfilAbiertoOriginal.OverlayMargenInfUnit) Or _
(PerfilAbierto.OverlayPos <> PerfilAbiertoOriginal.OverlayPos) Or _
(PerfilAbierto.OverlayPath <> PerfilAbiertoOriginal.OverlayPath) Or _
(PerfilAbierto.OverlayRedimAlto <> PerfilAbiertoOriginal.OverlayRedimAlto) Or _
(PerfilAbierto.OverlayRedimAltoUnit <> PerfilAbiertoOriginal.OverlayRedimAltoUnit) Or _
(PerfilAbierto.OverlayRedimAncho <> PerfilAbiertoOriginal.OverlayRedimAncho) Or _
(PerfilAbierto.OverlayRedimAnchoUnit <> PerfilAbiertoOriginal.OverlayRedimAnchoUnit) Or _
(PerfilAbierto.OVerlayRedim <> PerfilAbiertoOriginal.OVerlayRedim) Or _
(PerfilAbierto.OverlayOpt <> PerfilAbiertoOriginal.OverlayOpt) Or _
(PerfilAbierto.OverlayTrans <> PerfilAbiertoOriginal.OverlayTrans) Or _
(PerfilAbierto.OverlayTransColorR <> PerfilAbiertoOriginal.OverlayTransColorR) Or _
(PerfilAbierto.OverlayTransColorG <> PerfilAbiertoOriginal.OverlayTransColorG) Or _
(PerfilAbierto.OverlayTransColorB <> PerfilAbiertoOriginal.OverlayTransColorB) Or _
(PerfilAbierto.OVerlayOpacidadOpt <> PerfilAbiertoOriginal.OVerlayOpacidadOpt) Or _
(PerfilAbierto.OverlayOpacidadPor <> PerfilAbiertoOriginal.OverlayOpacidadPor)
PerfHuboCambios = Ret
If Ret = True Then Exit Function
FiltL = Join(PerfilAbierto.ApFiltros, ":")
FiltL2 = Join(PerfilAbiertoOriginal.ApFiltros, ":")
If FiltL <> FiltL2 Then PerfHuboCambios = True
ErrH:
End Function

Public Sub AlternarControlesRellenoBorde()
Form8.Command12.Visible = (PerfilAbierto.RellenoBordeOpt = 0)
Form8.Picture2.Visible = (PerfilAbierto.RellenoBordeOpt = 0)
Form8.IconoCtrl2.Visible = (PerfilAbierto.RellenoBordeOpt = 0)
Form8.Text35.Visible = (PerfilAbierto.RellenoBordeOpt = 1)
Form8.Command19.Visible = (PerfilAbierto.RellenoBordeOpt = 1)
Form8.Command20.Visible = (PerfilAbierto.RellenoBordeOpt = 1)
Form8.IconoCtrl7.Visible = (PerfilAbierto.RellenoBordeOpt = 1)
Form8.IconoCtrl6.Visible = (PerfilAbierto.RellenoBordeOpt = 1)
Form8.Text36.Visible = (PerfilAbierto.RellenoBordeOpt = 2)
Form8.Combo16.Visible = (PerfilAbierto.RellenoBordeOpt = 2)
End Sub

Public Sub ActualizarOverlayGraphPos()
With Form8
.Text38.Enabled = False
.Text39.Enabled = False
.Text40.Enabled = False
.Text41.Enabled = False
.Text42.Enabled = False
.Text43.Enabled = False
.Text44.Enabled = False
.Text45.Enabled = False
.Combo17.Enabled = False
.Combo18.Enabled = False
.Combo19.Enabled = False
.Combo20.Enabled = False
If PerfilAbierto.OverlayOpt = 0 Then Exit Sub
Select Case PerfilAbierto.OverlayPos
    Case 0
        .Shape7.Left = 0
        .Shape7.Top = 0
        .Text38.Enabled = True
        .Text42.Enabled = True
        .Combo17.Enabled = True
        .Text40.Enabled = True
        .Text44.Enabled = True
        .Combo19.Enabled = True
    Case 1
        .Shape7.Left = .Line3.X1
        .Shape7.Top = 0
        .Text38.Enabled = True
        .Text42.Enabled = True
        .Combo17.Enabled = True
    Case 2
        .Shape7.Left = .Line4.X1
        .Shape7.Top = 0
        .Text38.Enabled = True
        .Text42.Enabled = True
        .Combo17.Enabled = True
        .Text41.Enabled = True
        .Text45.Enabled = True
        .Combo20.Enabled = True
    Case 3
        .Shape7.Left = 0
        .Shape7.Top = .Line1.Y1
        .Text40.Enabled = True
        .Text44.Enabled = True
        .Combo19.Enabled = True
    Case 4
        .Shape7.Left = .Line3.X1
        .Shape7.Top = .Line1.Y1
    Case 5
        .Shape7.Left = .Line4.X1
        .Shape7.Top = .Line1.Y1
        .Text41.Enabled = True
        .Text45.Enabled = True
        .Combo20.Enabled = True
    Case 6
        .Shape7.Left = 0
        .Shape7.Top = .Line2.Y1
        .Text39.Enabled = True
        .Text43.Enabled = True
        .Combo18.Enabled = True
        .Text40.Enabled = True
        .Text44.Enabled = True
        .Combo19.Enabled = True
    Case 7
        .Shape7.Left = .Line3.X1
        .Shape7.Top = .Line2.Y1
        .Text39.Enabled = True
        .Text43.Enabled = True
        .Combo18.Enabled = True
    Case 8
        .Shape7.Left = .Line4.X1
        .Shape7.Top = .Line2.Y1
        .Text39.Enabled = True
        .Text43.Enabled = True
        .Combo18.Enabled = True
        .Text41.Enabled = True
        .Text45.Enabled = True
        .Combo20.Enabled = True
End Select
    .Text42.Visible = (PerfilAbierto.OverlayPos >= 0 And PerfilAbierto.OverlayPos < 6)
    .Text38.Visible = (PerfilAbierto.OverlayPos >= 0 And PerfilAbierto.OverlayPos < 6)
    .Combo17.Visible = (PerfilAbierto.OverlayPos >= 0 And PerfilAbierto.OverlayPos < 6)
    
    .Text43.Visible = Not (PerfilAbierto.OverlayPos >= 0 And PerfilAbierto.OverlayPos < 6)
    .Text39.Visible = Not (PerfilAbierto.OverlayPos >= 0 And PerfilAbierto.OverlayPos < 6)
    .Combo18.Visible = Not (PerfilAbierto.OverlayPos >= 0 And PerfilAbierto.OverlayPos < 6)
    
    .Text44.Visible = (PerfilAbierto.OverlayPos = 0 Or PerfilAbierto.OverlayPos = 3 Or PerfilAbierto.OverlayPos = 6)
    .Text40.Visible = (PerfilAbierto.OverlayPos = 0 Or PerfilAbierto.OverlayPos = 3 Or PerfilAbierto.OverlayPos = 6)
    .Combo19.Visible = (PerfilAbierto.OverlayPos = 0 Or PerfilAbierto.OverlayPos = 3 Or PerfilAbierto.OverlayPos = 6)
    
    .Text45.Visible = Not (PerfilAbierto.OverlayPos = 0 Or PerfilAbierto.OverlayPos = 3 Or PerfilAbierto.OverlayPos = 6)
    .Text41.Visible = Not (PerfilAbierto.OverlayPos = 0 Or PerfilAbierto.OverlayPos = 3 Or PerfilAbierto.OverlayPos = 6)
    .Combo20.Visible = Not (PerfilAbierto.OverlayPos = 0 Or PerfilAbierto.OverlayPos = 3 Or PerfilAbierto.OverlayPos = 6)

End With
End Sub

Public Sub HDesHControlesOverlay()
With Form8
    .Text350.Enabled = (PerfilAbierto.OverlayOpt = 1)
    .Command190.Enabled = .Text350.Enabled
    .Command200.Enabled = .Text350.Enabled
    .Check9.Enabled = .Text350.Enabled
    .Text360.Enabled = (.Text350.Enabled And PerfilAbierto.OVerlayRedim = 1)
    .Text37.Enabled = .Text360.Enabled
    .Combo21.Enabled = .Text360.Enabled
    .Combo22.Enabled = .Text360.Enabled
    .Label25.Enabled = .Text360.Enabled
    .Check8.Enabled = .Text350.Enabled
    .Command21.Enabled = (.Text350.Enabled And PerfilAbierto.OverlayTrans = 1)
    .Label240.Enabled = .Text350.Enabled
    .Picture9.Enabled = .Text350.Enabled
    .Label26.Enabled = .Text350.Enabled
    .Check10.Enabled = .Text350.Enabled
    .Combo23.Enabled = (.Text350.Enabled And PerfilAbierto.OVerlayOpacidadOpt = 1)
    Call ActualizarOverlayGraphPos
    .Command22.Enabled = .Text350.Enabled
End With
End Sub
