我建了1个无最大化和最小化按钮的窗口,为什么更改窗口样式后不能立即更新样式呢

解决方案 »

  1.   

    窗口的 BorderStyle 是 2--Sizable才可以设置无最大化和最小化按钮
      

  2.   

    sorry...
    就是说1个没有WS_MAXIMIZEBOX样式的窗口,我加上去它不能立即更改
      

  3.   


    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Const GWL_STYLE = (-16)
    Private Const WS_MAXIMIZEBOX = &H10000
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const HTCAPTION = 2
    Private Const WM_NCLBUTTONDOWN = &HA1Private Sub Command1_Click()
        SetWindowLong Me.hwnd, GWL_STYLE, GetWindowLong(Me.hwnd, GWL_STYLE) Or WS_MAXIMIZEBOX
        SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, ByVal 0&
    End Sub