Option Explicit
Private gridLeftRatio As Single, gridTopRatio As Single, gridWidthRatio As Single,
gridHeightRatio As Single
Private colWidthRatio() As Single, rowHeightRatio() As Single
Private Sub Form_Load()
Dim i As Long
With MSFlexGrid1
gridLeftRatio = .Left / Me.Width
gridTopRatio = .Top / Me.Height
gridWidthRatio = .Width / Me.Width
gridHeightRatio = .Height / Me.Height
ReDim colWidthRatio(.Cols - 1)
ReDim rowHeightRatio(.Rows - 1)
For i = 0 To .Cols - 1
colWidthRatio(i) = .ColWidth(i) / Me.Width
Next i
For i = 0 To .Rows - 1
rowHeightRatio(i) = .RowHeight(i) / Me.Height
Next i
End With
End Sub
Private Sub Form_Resize()
Dim i As Long
With MSFlexGrid1
.Left = gridLeftRatio * Me.Width
.Top = gridTopRatio * Me.Height
.Width = gridWidthRatio * Me.Width
.Height = gridHeightRatio * Me.Height
For i = 0 To .Cols - 1
.ColWidth(i) = colWidthRatio(i) * Me.Width
Next i
For i = 0 To .Rows - 1
.RowHeight(i) = rowHeightRatio(i) * Me.Height
Next i
End With
End Sub
评论0