如標題:請各位兄弟姐妹幫忙,多謝多謝

解决方案 »

  1.   

    Option Explicit
    Private Declare Function GetSystemMenu Lib "user32.dll" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
    Private Declare Function DeleteMenu Lib "user32.dll" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Private Declare Function SetWindowPos Lib "user32.dll" (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 Const MF_BYPOSITION = &H400&
    Private Const SWP_FRAMECHANGED = &H20
    Private Const SWP_NOMOVE = &H2
    Private Const SWP_NOSIZE = &H1Private Sub Command1_Click()
        Dim hSystemMenu As Long
        hSystemMenu = GetSystemMenu(Me.hwnd, False)
        DeleteMenu hSystemMenu, 0, MF_BYPOSITION
        SetWindowPos Me.hwnd, 0, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_FRAMECHANGED
    End Sub
      

  2.   

    '在模块中的代码
    Private Declare Function SetWindowLong Lib "user32" Alias _
            "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex _
            As Long, ByVal dwNewLong As Long) As Long
            
    Private Declare Function CallWindowProc Lib "user32" Alias _
            "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal _
            hWnd As Long, ByVal Msg As Long, ByVal wParam As _
            Long, ByVal lParam As Long) As Long
            
    Const GWL_WNDPROC = (-4&)Dim PrevWndProc&Const WM_NCLBUTTONDBLCLK = &HA3
      
    Public Sub Init(hWnd As Long)
      PrevWndProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf SubWndProc)
    End SubPublic Sub Terminate(hWnd As Long)
      Call SetWindowLong(hWnd, GWL_WNDPROC, PrevWndProc)
    End SubPrivate Function SubWndProc(ByVal hWnd As Long, ByVal Msg As Long, _
                                ByVal wParam As Long, ByVal lParam As Long) _
                                As Long
      
      If Msg = WM_NCLBUTTONDBLCLK Then
         Exit Function
      End If
      
      SubWndProc = CallWindowProc(PrevWndProc, hWnd, Msg, wParam, lParam)
    End Function'窗体代码
    Private Sub Form_Load()
    Call Init(Me.hWnd)
    End SubPrivate Sub Form_Unload(Cancel As Integer)
    Call Terminate(Me.hWnd)
    End Sub
      

  3.   

    模块中
    Public Const GWL_WNDPROC = (-4)
    Private Const WM_NCLBUTTONDBLCLK = &HA3
    Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public prevWndProc As Long
    Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    If Msg = WM_NCLBUTTONDBLCLK Then
    Else
    WndProc = CallWindowProc(prevWndProc, hWnd, Msg, wParam, lParam)
    End If
    End Function窗体中
    Private Sub Command1_Click()
    Unload Me
    End Sub
    Private Sub Form_Load()
    prevWndProc = GetWindowLong(Me.hWnd, GWL_WNDPROC)
    SetWindowLong Me.hWnd, GWL_WNDPROC, AddressOf WndProc
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
    SetWindowLong Me.hWnd, GWL_WNDPROC, prevWndProc
    End Sub