Como maximizo y minimizo un formulario

Al trabajar en excel con vb quiero agregar botones de maximizar y minimizar el formulario que línea de código emplearía

Respuesta
1

El siguiente código lo extraigo de mi manual de Userforms, cap. 5.17

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const WS_MINIMIZEBOX As Long = &H20000
Private Const WS_MAXIMIZEBOX As Long = &H10000
Private Const GWL_STYLE As Long = (-16)
Private Sub UserForm_Initialize()
Dim lngMyHandle As Long, lngCurrentStyle As Long, lngNewStyle As Long
'Obtenemos el "Handle" del Userform
lngMyHandle = FindWindow("THUNDERDFRAME", Me.Caption)
'Obtenemos el estilo actual del UserForm
lngCurrentStyle = GetWindowLong(lngMyHandle, GWL_STYLE)
'Creamos un nuevo estilo de titulo con los botones deseados
lngNewStyle = lngCurrentStyle Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX
'Aplicamos las nuevas propiedades al UserForm
SetWindowLong lngMyHandle, GWL_STYLE, lngNewStyle
'aquí a continuación el resto de las  instrucciones de inicio
End Sub

Si la versión Excel es de 32 bits la propiedad ShowModal del UF debe estar en 'False'.

Si la versión Excel es de 64 bits no hace falta cambiar la propiedad, pero debes colocar la palabra PtrSafe delante de Function en las 3 primeras instrucciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas