Функция 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
Категория
Окна