Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ventana inescondible

Estas en el tema de Ventana inescondible en el foro de Visual Basic clásico en Foros del Web. ¿Alguén sabe como le puedo hacer para que una ventana nunca se pase hacia atrás?,osea que siempre esté visible por más ventanas que se abran. ...
  #1 (permalink)  
Antiguo 29/04/2006, 20:59
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Ventana inescondible

¿Alguén sabe como le puedo hacer para que una ventana nunca se pase hacia atrás?,osea que siempre esté visible por más ventanas que se abran.

Igual que la ventana del Administrador de Tareas de Windows, cuando se presiona Ctrl+Alt+DEL
__________________
Nunca seas sabio en tu propia opinión.
  #2 (permalink)  
Antiguo 29/04/2006, 21:43
Avatar de Modern_Crusades  
Fecha de Ingreso: junio-2005
Mensajes: 620
Antigüedad: 18 años, 10 meses
Puntos: 1
pon este codigo en un modulo
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

Const HWND_TOPMOST = -1
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1


Public Sub PutWindowOnTop(pFrm As Form)
Dim lngWindowPosition As Long

lngWindowPosition = SetWindowPos(pFrm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)

End Sub

y luego e nel load de tu form pon
Call PutWindowOnTop(Me)


asi siempre estara en el frente eso si
si quieres poner algo ensima de esa
tendras que decirle a esa nueva
Call PutWindowOnTop(Me)

de ese modo los forms que llames con ese metodo estaran ensima de todo siempre menos de forms con ese metodo
  #3 (permalink)  
Antiguo 04/05/2006, 20:29
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Gracias hermano, ya lo probé pero no hace exactamente lo que busco.

Fijate que lo que me gustaría que hiciera es que nunca se le puedan anteponer ventanas. Ponle tu que abres el Office, Messenger y cuanto programa quieras; ¿como le haría para que nunca se esconda la ventana?.

Me disculpo por cualquier inconveniente.
__________________
Nunca seas sabio en tu propia opinión.

Última edición por Jad-Neo; 04/05/2006 a las 21:22
  #4 (permalink)  
Antiguo 04/05/2006, 23:40
Avatar de darkhack  
Fecha de Ingreso: marzo-2005
Mensajes: 654
Antigüedad: 19 años, 1 mes
Puntos: 3
Lo k no kieres es que tu aplicacion salga de foco no??
Si es asi deja buscar yo tengo por ahi un ejemplo de como hacerlo.
__________________
Dios solo nos dio el 0 y el 1 pero con eso hemos hecho maravillas
1er dia te espantas, 2° te desesperas,3° buscas ayuda y 4°....Adios
  #5 (permalink)  
Antiguo 06/05/2006, 14:40
Avatar de Modern_Crusades  
Fecha de Ingreso: junio-2005
Mensajes: 620
Antigüedad: 18 años, 10 meses
Puntos: 1
SetWindowPos(pFrm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE) en el argumentodonde dice no move busca en el windows api y tiene opcion de no hide y varios uno de esos sevira, igual que e ltopmost tiene propiedades de bottom etc.
  #6 (permalink)  
Antiguo 08/05/2006, 20:47
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo

Gracias por el tip. Como el post anterior lo puese hace ya una semana me encargué de arreglar ese problemilla poniendolo en un Do...Loop, de esa forma jamás se esconde la ventana, o como tu dices no pierde el "foco".

Gracias Modern.
__________________
Nunca seas sabio en tu propia opinión.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:58.