16 Февраль 2009

Как перемещать форму не за заголовок?

Формы |  Таги: , ,

Как перемещать форму не за заголовок?

Option Explicit
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 Declare Function ReleaseCapture Lib "user32" () As Long
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2

Private Sub Form_MouseDown(Button As Integer, _
     Shift As Integer, X As Single, Y As Single)
Call ReleaseCapture
Call SendMessage(Me.hWnd, _
    WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End Sub


У нас один комментарий на запись “Как перемещать форму не за заголовок?”

Почему бы Вам не высказать свое мнение! Позвольте нам узнать, что Вы думаете...

  1. 1 On 13.04.2009, Rody66 said:

    Еще можно так -
    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    lngx = X
    lngy = Y
    End Sub

    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
    Me.Left = Me.Left – lngx + X
    Me.Top = Me.Top – lngy + Y
    End If
    End Sub

Оставить комментарий

Я не робот.