Перемещение окна не за загловок |
Автор Александр Бельбаков | |
20.12.2001 г. | |
Как перемещать окно не за его заголовок, а особенно когда его нет?
В форуме был задан такой вопрос, как перемещать форму не за заголовок, особенно когда его нет. Для этого нам потребуются две API функции: 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 Private Const WM_NCLBUTTONDOWN = &HA1 Private Const HTCAPTION = 2 Способ перемещения заключается в том, чтобы симитировать перемещение мыши по заголовку окна. Вот как это делается: Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) Dim RetVal As Long RetVal = ReleaseCapture RetVal = SendMessage(hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&) End Sub |