Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: joseydoris en 13 Junio 2017, 16:05 pm



Título: salir de fullscreen
Publicado por: 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


Título: Re: salir de fullscreen
Publicado por: Serapis en 13 Junio 2017, 23:55 pm
... 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
  1. Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
  2. Private Const SW_SHOWNORMAL = 1
  3.  
  4. Private Sub Form_Click()
  5.    Call ShowWindow(Me.hWnd, SW_SHOWNORMAL)
  6. End Sub
  7.  

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...


Título: Re: salir de fullscreen
Publicado por: Eleкtro en 14 Junio 2017, 12:06 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!


Título: Re: salir de fullscreen
Publicado por: okik en 18 Junio 2017, 10:58 am
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
  1. Private Sub Form_Load()
  2. Me.WindowState = 2
  3. lblMedia.BackColor = vbBlack
  4. lblMedia.ForeColor = vbWhite
  5. lblMedia.Caption = "Haz doble click sobre mí"
  6.  
  7. End Sub
  8.  
  9. Private Sub lblMedia_DblClick()
  10.         Form1.WindowState = 0
  11. 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
  1. Private Sub lblMedia_DblClick()
  2.         Me.WindowState = vbNormal
  3. End Sub
  4.  

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
  1. Dim dblClick As Integer
  2.  
  3. Private Sub Form_Load()
  4. Me.WindowState = 2
  5. lblMedia.BackColor = vbBlack
  6. lblMedia.ForeColor = vbWhite
  7. lblMedia.Caption = "Haz doble click sobre mí"
  8.  
  9. End Sub
  10.  
  11. Private Sub lblMedia_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  12. If Button = vbLeftButton Then
  13. dblClick = dblClick + 1
  14. Me.Caption = dblClick
  15.    If dblClick = 2 Then
  16.         dblClick = 0
  17.         Me.WindowState = 0
  18.     End If
  19. End If
  20. End Sub
  21.  
  22.  


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
  1. Private Sub lblMedia_DblClick()
  2.   Me.WindowState = vbNormal
  3.   Me.Width = 9720
  4.   Me.Height = 4000
  5.   Me.BorderStyle = vbSizable
  6.   Me.Caption = "Video X"
  7. End Sub
  8.  

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
  1.  
  2. Me.BorderStyle = vbSizable
  3.  Me.Caption = "Video X"
  4.