Функция OffsetRect

Declare Function OffsetRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long

OffsetRect меняет позицию прямоугольника без изменения его размера. Если значение для перемещения отрицательно, прямоугольник перемещается влево или вверх(в зависимости от направления); положительные значения перемещают его вправо или вниз

lpRect
Прямоугольник для перемещения
x
Значение для перемещения прямоугольника по горизонтали. Отрицательные значения двигают его налево, положительные- направо
y
Значение для перемещения прямоугольника по вертикали. Отрицательные значения двигают его вверх, положительные- вниз

Пример

' Сдвигаем Form1 на 50 пикселов вправо 
' и 20 пикселов вверх, используя его прямоугольник
Dim winrect As RECT  ' прямоугольник окна
Dim retval As Long ' возвращаемое значение

' Получаем прямоугольник Form1
retval = GetWindowRect(Form1.hWnd, winrect)
' Сдвигаем прямоугольник вправо и вверх
retval = OffsetRect(winrect, 50, -20)
' Теперь заменим окно на экране,
' чтобы соответствовать его новому прямоугольнику
retval = SetWindowPos(Form1.hWnd, 0, winrect.Left, winrect.Top, winrect.Right, winrect.Bottom, 0)

Смотри также

InflateRect

Категория

Прямоугольники