Para Dam inmovilizar formularios

Disculpa nuevamente Dam es con relación al mismo formulario como hacer para que el formulario nadie lo pueda mover y detecte que al regresarme a la hoja de menu se queda activo el formulario

1 respuesta

Respuesta
1

¿Cómo qué no lo puedan mover?

Y tampoco entiendo lo otro que pides: "que al regresarme a la hoja de menu se queda activo el formulario"

Me puedes explicar con más detalle y con ejemplos

Si Dam que en donde aparezca el formulario se quede fijo osea que se se pueda mover a otra posiciona. y la segunda petición es que al yo oprimir el botón de regresar a menu principal me regresa a la hoja 1 que es la del menu pero no se cierra el formulario espero haberme explicado.

Para que no se mueva el formulario se me ocurre lo siguiente:

Pon el siguiente código hasta la parte superior del código de tu formulario

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) 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 DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long

Agrega el siguiente código en tu formulario

Private Sub UserForm_Initialize()
 Dim lStyle As Long, hMenu As Long, mhWndForm As Long
 mhWndForm = FindWindow("ThunderDFrame", Me.Caption)
 lStyle = GetWindowLong(mhWndForm, -16)
 lStyle = lStyle And Not &HC00000
 SetWindowLong mhWndForm, -16, lStyle
 DrawMenuBar mhWndForm
 Me.Height = Me.Height - 18
End Sub

Para ir a la hoja menú pon lo siguiente en tu botón de menú

Private Sub CommandButton1_Click()
Application.ScreenUpdating = True
Sheets("Hoja1").Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas