Манипуляции с окном без заголовка - VB
Формулировка задачи:
Имеется окно с
BorderStyle
= 0 - None, КнопкиMinButton
,MaxButton
,RestoreButton
,CloseButton
Код для свертки окна работает нормально:Private Sub buttMin_Click() '--- IDE.WindowState = 1End Sub а WindowState = 2 распахивает окно на весь экран, закрывая панель задач. предположительно нужен такой код:Private Sub buttMax_Click() buttMax.Visible = False buttRest.Visible = True OldW = IDE.Width OldH = IDE.Height OldL = IDE.Left OldT = IDE.TopSelect Case Расположение_панели_задачCase Сверху: IDE.Move 0, Высота_панели_задач, Screen.Width, Screen.Height - Высота_панели_задачCase Справа: IDE.Move Ширина_панели_задач, 0, Screen.Width - Ширина_панели_задач, Screen.HeightCase Слева: IDE.Move 0, Ширина_панели_задач, Screen.Width - Ширина_панели_задач, Screen.Heightcase Снизу: IDE.Move 0, 0, Screen.Width, Screen.Height - Высота_панели_задачEnd Select Form_ResizeEnd SubPrivate Sub buttRest_Click() buttRest.Visible = False buttMax.Visible = True IDE.Move OldL, OldT, OldW, OldH Form_ResizeEnd Sub Вопрос как определить размеры и положение панели задач?Решение задачи: «Манипуляции с окном без заголовка»
textual
Листинг программы
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Sub Form_Load() Dim Rec As RECT, tWnd As Long 'Найдем ПЗ tWnd = FindWindow("Shell_traywnd", vbNullString) 'Вычислим размеры ПЗ GetWindowRect tWnd, Rec ' Найдем верхнюю точку MsgBox Rec.Top, vbOKOnly, " верхняя точка ПЗ" End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д