VB6: Mantener una aplicación sobre las otras

Noviembre 2016


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 :
El documento «VB6: Mantener una aplicación sobre las otras» de CCM (es.ccm.net) se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo siempre y cuando respetes las condiciones de dicha licencia y des crédito a CCM.