Функция MoveWindow

Declare Function MoveWindow Lib "user32" _
            (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, _
            ByVal nWidth As Long, ByVal nHeight As Long, _
            ByVal bRepaint As Long) As Long

MoveWindow перемещает окно в новое место. В дополнение к перемещению, эта функция также изменяет размер окна
hwnd
Дескриптор окна
x
Координата x вернхнего левого угла окна
y
Координата y верхнего левого угла окна
nWidth
Ширина в пикселах для нового окна
nHeight
Высота в пикселах для нового окна
bRepaint
Если ненулевое значение, то окно должно быть перерисовано для отображения в его новой позиции. Если 0, то перерисовка должна выполняться приложением

Пример

' Пример для VB 6.0
' Изменяем размеры выпадающего списка комбинированного окна
' Добавьте на форму ComboBox 
Dim i As Integer

' Заполняем список
    For i = 1 To 50
        Combo1.AddItem Format$(i)
    Next i
    Combo1.ListIndex = 0

' Меняем размер выпадающего списка для ComboBox
    
Dim cbo_left As Integer
Dim cbo_top As Integer
Dim cbo_width As Integer
Dim cbo_height As Integer
Dim old_scale_mode As Integer

old_scale_mode = Form1.ScaleMode
Form1.ScaleMode = vbPixels

' Сохраняем координаты ComboBo
cbo_left = Combo1.Left
cbo_top = Combo1.Top
cbo_width = Combo1.Width

' Вычислим новую высоту
cbo_height = Form1.ScaleHeight - Combo1.Top - 5
Form1.ScaleMode = old_scale_mode

' Меняем размер окна combo box
MoveWindow Combo1.hwnd, cbo_left, cbo_top, _
        cbo_width, cbo_height, 1

' Пример для VB .NET 2003 ' запускаем блокнот Dim p As System.Diagnostics.Process = _ System.Diagnostics.Process.Start("notepad.exe") p.WaitForInputIdle() ' перемещаем и устанавливаем новые размеры окна блокнота MoveWindow(p.MainWindowHandle, 0, 10, 700, 200, 1)

Смотри также

GetWindowRect, SetWindowPos

Категория

Окна