Formulario modal

zonda
28 de Noviembre del 2004
Hola a todos, quiero que mi aplicación actue de forma modal respecto al windows, es decir que no pueda hacer uso de windows a menos que cierre la ventana de mi programa.

roymx
28 de Noviembre del 2004
pega este codigo en un modulo

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, y, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE

Public Sub MakeNormal(hwnd As Long)
SetWindowPos hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS
End Sub
Public Sub MakeTopMost(hwnd As Long)
SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS
End Sub

pon dos botones en la forma

a uno pega esto en el evento click para poner la forma sobre todas las demas

Call MakeTopMost(Me.hwnd)

y este este en el otro boton para hacerla normal

Call MakeNormal(Me.hwnd)




zonda
28 de Noviembre del 2004
Gracias por tu ayuda pero el segundo boton no hace nada. ¿Qué se supone que deberia de hacer?

zonda
28 de Noviembre del 2004
Ah ok ya se lo que hace. Pero lo que a mi me interesa es que el usuario no pueda hacer uso del windows. Por ejemplo que mientras este mi aplicacion abierta, no pueda hacer click en el boton Inicio.