mostrar ventana, pero no quitar foco de la actual

Iniciado por SERBice, 21 Junio 2008, 12:30 PM

0 Miembros y 1 Visitante están viendo este tema.

SERBice

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.

SERBice

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.

cobein

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
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

seba123neo

chapuza:

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


:P
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

SERBice

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.