Функция SetWindowPos
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 Long
SetWindowPos располагает окно в новое местоположение на экране, устанавливая его координаты, вид, позицию относительно других окон
- hwnd
- Дескриптор окна для перемещения
- hWndInsertAfter
- Дескриптор окна, после которого окно hwdn находится в списке окон. Следующие флаги определяют позицию окна hwnd:
- HWND_BOTTOM = 1
- Внизу списка окон
- HWND_NOTOPMOST = -2
- Наверху списка окон, под самым верхним окном
- HWND_TOP = 0
- Поверх всех окон
- HWND_TOPMOST = -1
- Наверху списка окон
- x
- Координата x вернего левого угла окна
- y
- Координата y вернего левого угла окна
- cx
- Ширина окна
- cy
- Высота окна
- wFlags
- Флаги, определяющие вид окна:
- SWP_DRAWFRAME = &H20
- Рисует рамку окна,аналогично SWP_FRAMECHANGED
- SWP_FRAMECHANGED = &H20
- Рисует рамку окна
- SWP_HIDEWINDOW = &H80
- Скрывает окно с экрана
- SWP_NOACTIVATE = &H10
- Делает окно неактивным
- SWP_NOCOPYBITS = &H100
- Не обновляет рисунки на окне после перемещения
- SWP_NOMOVE = &H2
- Сохраняет координаты текущего окна(параметры x и y игнорируются)
- SWP_NOSIZE = &H1
- Сохраняет координаты текущего окна
- SWP_NOREDRAW = &H8
- Не перерисовывает содержимое окна
- SWP_NOZORDER = &H4
- Сохраняет текущее положение окна в списке других окон
- SWP_SHOWWINDOW = &H40
- Отображает окно, если оно скрыто
Пример
' Перемещаем окно формы Form1
' в верхний левый угол экрана и поверх всех окон
Dim flags As Long ' флаг для окна
Dim retval As Long ' возвращаемое значение
' Не изменяя размеры окна, показываем его в новом месте
flags = SWP_NOSIZE Or SWP_DRAWFRAME
' Перемещаем окно
retval = SetWindowPos(Form1.hWnd, HWND_TOPMOST, 0, 0, 1, 1, flags)
Смотри также
BringWindowToTop, GetWindowRect, MoveWindow
Категория
Окна