Hola, quiero hacer un formulario que siempre esté visible, es decir que al recibir el foco el otro formulario siempre esté visible el anterior.
Gracias por las respuestas.
Saludos
| |||
Formulario flotante Hola, quiero hacer un formulario que siempre esté visible, es decir que al recibir el foco el otro formulario siempre esté visible el anterior. Gracias por las respuestas. Saludos |
| ||||
Mediante el API de Windows se puede modificar la posicion del formulario para que sea constante sobre el resto de ventanas. Añade un Modulo BAS a tu proyecto y añadele el siguiente codigo:
Código:
Luego desde el evento Load del formulario que desees haces la siguiente llamada:Option Explicit Private Const SWP_NOMOVE = 2 Private Const SWP_NOSIZE = 1 Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 Private 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 Public Sub OnTop(F As Form)'Coloca la ventana sobre todas las demas: Call SetWindowPos(F.hwnd, HWND_TOPMOST, 0, 0, 0, 0, _ SWP_NOMOVE Or SWP_NOSIZE)End Sub Public Sub OffTop(F As Form)'Devuelve la posicion anterior a la ventana: Call SetWindowPos(F.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, _ SWP_NOMOVE Or SWP_NOSIZE)End Sub
Código:
Salu2... Private Sub Form_Load()Call OnTop(Me)End Sub
__________________ Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra. |
| ||||
Mi pregunta es si con esta opción podría quedar encima, hasta de juegos como los de carros que ocupan toda la pantalla o de Mario Bross.. que cargan como en MS Dos. Gracias.
__________________ Mi Blog: www.daosorio.com |
| ||||
La respuesta es no. Los juegos que corren sobre Windows en modo pantalla completa se hacen con el control absoluto de la pantalla dejando el escritorio de Windows detras. Ahi solo lograrias que la ventana del juego perdiera el foco y se minimizara para mostrar el escritorio de Windows. Los programas de MS-DOS en modo pantalla completa hacen justo lo mismo dado que no tiene nada que ver con el escritorio de Windows. Salu2...
__________________ Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra. |
| ||||
EX3, gracias por aclararmelo. Saludos cordiales.
__________________ Mi Blog: www.daosorio.com |
| |||
Re: Formulario flotante Hace tiempo que leí este post pero me ha salido un error en un ordenador donde he usado este código. Y creo que es por usar las Api. ¿alguien sabe que puede haber pasado? |
| |||
Re: Formulario flotante El error lo da al ejecutar el .exe ya compilado y todo. Y el caso es que en algunos ordenadores no va y en otros sí. Indistintamente de que el VB esté o no instalado en el ordenador |