让窗口一直在上面

    技术2022-05-11  107

    让窗口一直在上面
    http://www.tongyi.net  作者:天涯风铃    点击:419  

      很多流行软件都有这样一个选项:Always on Top。它可以让窗口在最上面,别的窗口不能覆盖它。我们在 VB 中,可以使用下面的方法来实现:Private Const SWP_NOSIZE = &H1Private Const SWP_NOMOVE = &H2Private Const SWP_NOZORDER = &H4Private Const SWP_NOREDRAW = &H8Private Const SWP_NOACTIVATE = &H10Private Const SWP_FRAMECHANGED = &H20Private Const SWP_SHOWWINDOW = &H40Private Const SWP_NOCOPYBITS = &H80Private Const SWP_NOOWNERZORDER = &H200Private Const SWP_DRAWFRAME = SWP_FRAMECHANGEDPrivate Const SWP_NOREPOSITION = SWP_NOOWNERZORDERPrivate Const HWND_TOP = 0Private Const HWND_BOTTOM = 1Private Const HWND_TOPMOST = -1Private Const HWND_NOTOPMOST = -2Private 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 LongPrivate mbOnTop As BooleanPrivate Property Let OnTop (Setting As Boolean)if Setting ThenSetWindowPos hwnd, -1, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZEElseSetWindowPos hwnd, -2, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZEEnd IfmbOnTop = SettingEnd Property Private Property Get OnTop() As Boolean'Return the private variable set in Property LetOnTop = mbOnTopEnd Property调用 OnTop=True 即可让窗口 Always On Top。  


    最新回复(0)