salir de fullscreen

Iniciado por joseydoris, 13 Junio 2017, 16:05 PM

0 Miembros y 2 Visitantes están viendo este tema.

joseydoris

Hola a todos:Tengo una aplicación en vb6 que me saca los vídeos en fullscreen. Para salir de este estado solo puedo hacerlo con la tecla escape. Necesitaría hacerlo con el clic del mouse. Alguna sugerencia?att jose antonio

Serapis

... cuando dices "tengo una aplicación"  ...qué quieres decir exactamente?
A - Que la has programado tú, o...
B - Que utilizas una aplicación programada por otra persona y no tienes acceso al código fuente...

Si es b, sigue como hasta ahora.
Si es A, tienes que usar alguna API, que se llama cuando hagas click con el ratón...

Código (vb) [Seleccionar]
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_SHOWNORMAL = 1

Private Sub Form_Click()
    Call ShowWindow(Me.hWnd, SW_SHOWNORMAL)
End Sub


Esto deja la ventana en su tamaño normal... pero no reduce el tamaño de un objeto que tenga algún vídeo reproduciendo, para eso hay que modificar las propiedades del tipo de objeto que actúa de contenedor del vídeo...

Eleкtro

Cita de: joseydoris en 13 Junio 2017, 16:05 PM
Hola a todos:Tengo una aplicación en vb6 que me saca los vídeos en fullscreen. Para salir de este estado solo puedo hacerlo con la tecla escape. Necesitaría hacerlo con el clic del mouse. Alguna sugerencia?att jose antonio

¿Cómo?. A ver si lo he entendido bien: tú estás usando "X" reproductor multimedia, pones los videos en Fullscreen, ¿y dices que tienes que utilizar una aplicación externa desarrollada en VB6 para salir de Fullscreen?. Eso no tiene mucho sentido...

O quizás es que lo he entendido mal, ¿puedes explicarlo con más detalle?.

Saludos!








okik

#3
Una forma muy sencilla sería esta:

Si el objeto que muestra el vídeo tiene envento DblClick puedes simplemente hacer los siguiente:

Código (vb) [Seleccionar]
Private Sub Form_Load()
Me.WindowState = 2
lblMedia.BackColor = vbBlack
lblMedia.ForeColor = vbWhite
lblMedia.Caption = "Haz doble click sobre mí"

End Sub

Private Sub lblMedia_DblClick()
        Form1.WindowState = 0
End Sub


Donde Form1 es el nombre del formulario. Recomiendo usar Me en su lugar. Los tres estados de ventana son:
vbNormal = 0
vbMinimized = 1
vbMaximized = 2

Por ejemplo:
Código (vb) [Seleccionar]

Private Sub lblMedia_DblClick()
        Me.WindowState = vbNormal
End Sub


Se usa DblClick. Más que nada para evitar que por accidente al hacer clic con el ratón se te cambie el estado de ventana.

Puedes usar el evento MouseUp si no existe el evento DblClick.

Código (vb) [Seleccionar]

Dim dblClick As Integer

Private Sub Form_Load()
Me.WindowState = 2
lblMedia.BackColor = vbBlack
lblMedia.ForeColor = vbWhite
lblMedia.Caption = "Haz doble click sobre mí"

End Sub

Private Sub lblMedia_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
dblClick = dblClick + 1
Me.Caption = dblClick
   If dblClick = 2 Then
        dblClick = 0
        Me.WindowState = 0
    End If
End If
End Sub





Se me olvidaba. Como dices que está en FullScreen y que no aparecerá el botón minimizar o maximizar. En cuyo caso ocurrirá que la ventana se pondrá en estado normal y no se verá la barra de ventana. Así que vamos por pasos.

Como ejemplo básico sería cambiar el alto, el ancho y establecer el BorderStyle a vbSizable. Sin embargo no estará visible los botones maximized y minimized. Además el botón cerrar no funcionará.

Código (vb) [Seleccionar]

Private Sub lblMedia_DblClick()
  Me.WindowState = vbNormal
  Me.Width = 9720
  Me.Height = 4000
  Me.BorderStyle = vbSizable
  Me.Caption = "Video X"
End Sub


Lo simple sería que desde propiedades de proyecto cambias los siguientes propiedades estando en modo edición (no Runtime).

BorderStyle ---> 2- vbSizable
MaxButton ---> True
MinButton ---> True

y listo. Si quieres mantener el formato fullscreen entonces:


BorderStyle ---> 0- vbSizable
MaxButton ---> True
MinButton ---> True

y luego desde código y en runtime:

Código (vb) [Seleccionar]
 
Me.BorderStyle = vbSizable
 Me.Caption = "Video X"