Visual Basic - evitar que el formulario quede atras

Life is soft - evento anual de software empresarial
   
Vista:

evitar que el formulario quede atras

Publicado por evelyn (1 intervención) el 19/09/2011 23:08:10
Hola a todos, soy novata en esto de la programación y me he encontrado con un detalle que no logro solucionar, lo que sucede es que tengo mi formulario principal (Form1) maximizado el cual tiene un botón (Command1) que llama a otro formulario mas pequeño (Form2) sobre el principal (Form1), la idea es que el usuario cuando cierre el Form2 pueda nuevamente acceder al Form1, pero el problema es que cuando hago click fuera del Form2, este desaparece y se va a la parte de atras del Form1.
Necesito que el Form2 permanezca visible todo el tiempo hasta que el usuario tenga que cerrarlo obligadamente para poder continuar.

Espero haberme explicado bien.

Gracias de antemano.
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

evitar que el formulario quede atras

Publicado por XHkrElite (518 intervenciones) el 20/09/2011 05:49:21
Hola Evelyn

escribe esto en un modulo:
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


Global Const HWND_TOPMOST = -1
Global Const SWP_NOMOVE = &H2
Global Const SWP_NOSIZE = &H1
Global Const HWND_NOTOPMOST = -2 '
---------------------------------------------------------------------------
en la forma que deseas que se ponga encima de todas escribe en en Form_ resize esto:
poner la ventana encima de todas:
Private Sub Form_Resize()
Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Sub

--------------------------------------------------------------------------
poner la ventana normal
Private Sub Form_Resize()
Call SetWindowPos(Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Sub
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

evitar que el formulario quede atras

Publicado por lareost (5 intervenciones) el 21/09/2011 02:12:10
Dim f as form2
Set f = New Form2
f.Show vbmodal
...recuperar datosde f, si es necesario, claro.

f = nothing
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

evitar que el formulario quede atras

Publicado por christian (666 intervenciones) el 03/10/2011 20:02:07
es muy simple evelyn

Private Sub Command1_Click()
Form2.Show 1
End Sub

el 1 hace referencia a la forma model del formulario

saludos
y contame como te fue
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