hi,各位好我有一個問題,我有兩個模塊
1.
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 WS_DISABLED = &H8000000  '创建一个初始被禁止的窗口
Private Const GWL_EXSTYLE = (-20)
Private Const GWL_STYLE = (-16)Public Sub DeclineKeyEvent(frm As Form)    Dim lngWinStyle As Long    lngWinStyle = GetWindowLong(frm.hwnd, GWL_EXSTYLE)
    SetWindowLong frm.hwnd, GWL_EXSTYLE, lngWinStyle Xor WS_DISABLEDEnd Sub2.
Private 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 Const HWND_TOPMOST = -1     '将窗口置于列表顶部,并位于任何最顶部窗口的前面
Private Const HWND_NOTOPMOST = -2   '将窗口置于列表顶部,并位于任何最顶部窗口的后面
Private Const SWP_NOSIZE = &H1      '保持当前大小(cx和cy被忽略)
Private Const SWP_NOMOVE = &H2      '保持当前位置(cx和cy被忽略)Public Sub OnTop(frmHwnd As Long, Setting As Boolean)    SetWindowPos frmHwnd, IIf(Setting, HWND_TOPMOST, HWND_NOTOPMOST), 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZEEnd Sub然後我在窗體中調用:
Private Sub Form_Load()
    Me.Show
    Call DeclineKeyEvent(Me)
End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Call DrapWindow(Me.hwnd)
End SubPrivate Sub Form_Paint()
    Call OnTop(Me.hwnd, True)
End Sub
可以達到置頂和獲得不到焦點的目的,但是現在的問題是,在移動窗體的時候,不能適時移動了,只能在放開鼠標之後窗體才顯示,請問是什麽原因呢?thx