VB6: Mantener una aplicación sobre las otras

Enero 2017


A continuación veremos un código que permite poner una ventana siempre encima del resto.

En un módulo general


Public 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 Const HWND_TOPMOST = -1  
Public Const HWND_NOTOPMOST = -2  
Public Const SWP_NOACTIVATE = &H10  
Public Const SWP_SHOWWINDOW = &H40  
Public Const SWP_NOMOVE = 2  
Public Const SWP_NOSIZE = 1  

En el formulario de inicio


Private Sub Form_Load()  
    Dim R as long  
    R = SetWindowPos(NomFeuille.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)  
end sub

A recordar


A veces otras aplicaciones pueden utilizar esta función, por lo que es necesario poner la función en la activación del formulario, lo que permite retomar esta función si el formulario es seleccionado.
Private Sub Form_Activate()  
    Dim R as long  
    R = SetWindowPos(NomFeuille.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)  
end sub

Eliminar la prioridad


Private sub SuppPriorité()  
    Dim R as long  
    R= SetWindowPos(NomFeuille.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)  
End sub


Consulta también

Artículo original escrito por . Traducido por Carlos-vialfa. Última actualización: 10 de marzo de 2010 a las 18:42 por Carlos-vialfa.
El documento «VB6: Mantener una aplicación sobre las otras» se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.