Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: SERBice en 21 Junio 2008, 12:30 PM

Título: mostrar ventana, pero no quitar foco de la actual
Publicado por: SERBice en 21 Junio 2008, 12:30 PM
me gustaria saber como lograr mostrar un form qu tengo cargado (Load FormName) pero que esta con la propiedad visible en false (esto lo se hacer), pero sin quitarle el foco a la ventana actual (esto es lo que no se).

se me ocurre que deberia "fijarme" cual es la ventana activa y al mostrar la que yo quiero devolverle el foco con sendmensage o algo asi.... pero no se como hacerlo, si alguien me pudiera dar una mano estaria agradecido.

desde ya, muchas gracias.
Título: Re: mostrar ventana, pero no quitar foco de la actual
Publicado por: SERBice en 21 Junio 2008, 23:43 PM
bueno, buscando un poco he encontrado que con getactivewindow y setactivewindow pudo hacer lo que yo queria, desdeya muchas gracias por haber entrado y tomarte el tiempo de leer esto.

Saludos.
Título: Re: mostrar ventana, pero no quitar foco de la actual
Publicado por: cobein en 22 Junio 2008, 00:06 AM
Option Explicit

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_SHOWNOACTIVATE As Long = 4

Private Sub Command1_Click()
    Load Form2
    ShowWindow Form2.hwnd, SW_SHOWNOACTIVATE
End Sub
Título: Re: mostrar ventana, pero no quitar foco de la actual
Publicado por: seba123neo en 22 Junio 2008, 00:30 AM
chapuza:

Private Sub Command1_Click()
Load Form2
Form2.Show
Form2.ZOrder 1
End Sub


:P
Título: Re: mostrar ventana, pero no quitar foco de la actual
Publicado por: SERBice en 22 Junio 2008, 00:45 AM
Cita de: cobein en 22 Junio 2008, 00:06 AM
Option Explicit

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_SHOWNOACTIVATE As Long = 4

Private Sub Command1_Click()
    Load Form2
    ShowWindow Form2.hwnd, SW_SHOWNOACTIVATE
End Sub



Gracias, utilizare ese codigo. Yo lo qu hacia era almacenar el hwnd de la ventana activa, mostrar el form y activar nuevamente la ventana con el hwnd guardado, pero inevitablement perdia el foco un instante. Vere si me funciona tu codigo estando el form visibl=false....

nuevamente gracias.