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.
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.
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
chapuza:
Private Sub Command1_Click()
Load Form2
Form2.Show
Form2.ZOrder 1
End Sub
:P
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.