RE:Poner formulario en primer plano y activo
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