Пропорциональное изменение размеров внутри формы - VB
Формулировка задачи:
Как изменять размеры,положение компонентов внутри главной формы в зависемости от её размеров
Решение задачи: «Пропорциональное изменение размеров внутри формы»
textual
Листинг программы
Dim SW_old As Double, SH_old As Double 'начальная ширина и высота окна Dim CtrSize() As Long ' массив для хранения начальных размеров и положения контролов Const cLeft = 1 Const cTop = 2 Const cWidth = 3 Const cHeight = 4 Private Sub Form_Load() Dim i As Long Dim ctr As Control SW_old = Me.ScaleWidth SH_old = Me.ScaleHeight For Each ctr In Me.Controls ReDim Preserve CtrSize(1 To 4, 0 To i) CtrSize(cLeft, i) = ctr.Left CtrSize(cTop, i) = ctr.Top CtrSize(cWidth, i) = ctr.Width CtrSize(cHeight, i) = ctr.Height i = i + 1 Next End Sub Private Sub Form_Resize() Dim kW As Double, kH As Double Dim i As Long Dim ctr As Control On Error Resume Next ' некоторые контролы не позволяют изменять свои размеры If Me.WindowState <> vbMinimized Then kW = Me.ScaleWidth / SW_old kH = Me.ScaleHeight / SH_old For Each ctr In Me.Controls ctr.Left = CtrSize(cLeft, i) * kW ctr.Top = CtrSize(cTop, i) * kH ctr.Width = CtrSize(cWidth, i) * kW ctr.Height = CtrSize(cHeight, i) * kH i = i + 1 Next End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д