Visual Basic - Poner formulario en primer plano y activo

Life is soft - evento anual de software empresarial
 
Vista:

Poner formulario en primer plano y activo

Publicado por cram (1 intervención) el 15/10/2004 05:31:49
Tengo un problema con un pequeño sistemita, lo que pasa es que al poner un formulario en primer plano y por delante de los demas, inabilitando el ctrl alt del, winkey y el alt +tab, este formulario no esta activo ya que al poner un clave de acceso, no me permite ingresar, tengo primero que darle varios click para q se active la ventana. gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Poner formulario en primer plano y activo

Publicado por Ruri (583 intervenciones) el 16/10/2004 06:49:06
Para colocar el formulario en top, colocás el siguiente código en un módulo de clase.
Public Const HWND_TOPMOST As Long = -1
Public Const HWND_NOTOPMOST As Long = -2
Public Const SWP_NOMOVE As Long = 2
Public Const SWP_NOSIZE As Long = 1
Public Const FLAGS As Long = SWP_NOMOVE Or SWP_NOSIZE
Public Declare Function SetWindowPos Lib \"user32\" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

A continuación, en el formulario que se coloca en top colocás la siguiente función:

Public Function ColocarEnTop(ByVal fColocarEnTop As Boolean) As Boolean
On Error Resume Next
Dim f As Boolean
\'Si la función falla devuelve \"False\"
f = (SetWindowPos(Me.hwnd, IIf(fColocarEnTop = True, HWND_TOPMOST, HWND_NOTOPMOST), 0, 0, 0, 0, FLAGS) <> 0)
fEstaEnTop = (fColocarEnTop And (f = True))
ColocarEnTop = f
End Function

En el form_load del formulario la llamás:
ColocarEnTop true

En el form unload la volvés a llamar
ColocarEnTop false

Espero que te sirva
Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar