Добрый вечер!
При прокрутке формы, один из объектов должен оставаться на своем месте. Объект остается, но дерганый, чем его успокоить, чтобы не дергался во время прокрутки?
Вот форма
При прокрутке формы, один из объектов должен оставаться на своем месте. Объект остается, но дерганый, чем его успокоить, чтобы не дергался во время прокрутки?
Вот форма
| Код |
|---|
Sub форма_макр()
Dim Line As Integer, i As Byte
Dim кнопка As Object, скролл As Object, модуль As Object, форма As Object
Set форма = ThisWorkbook.VBProject.VBComponents.Add(3)
With форма
.Properties("Width") = 300
.Properties("Height") = 400
.Properties("Caption") = ""
.Properties("ScrollHeight") = 1500
End With
Set скролл = форма.Designer.Controls.Add("forms.SpinButton.1", "SpinButton1", True)
Set кнопка = форма.Designer.Controls.Add("forms.CommandButton.1", "кнопка")
With скролл
.Height = 379
.Width = 40
.Left = 255
.Top = 0
.Delay = 1
.SmallChange = 10
.Max = 0
.Min = -1000
.BackColor = &H80000003
.ForeColor = &H0&
End With
With кнопка
.Height = 60
.Width = 100
.Left = 154
.Top = 319
.Caption = "должна стоять здесь и не рыпаться"
.WordWrap = True
.Font.Size = 12
.BackColor = &H80000003
.ForeColor = &H0&
End With
For i = 0 To 50
Set кнопка = форма.Designer.Controls.Add("forms.CommandButton.1", "кнопка" & i, True)
With кнопка
.Height = 30
.Width = 100
.Left = 0
.Top = i * 40
.Caption = i
.Font.Size = 14
.BackColor = &H80000003
.ForeColor = &H0&
End With
Next
With форма.CodeModule
Line = .CountOfLines
.InsertLines Line + 1, "Private Sub SpinButton1_Change()"
.InsertLines Line + 2, "Me.ScrollTop = -SpinButton1.Value"
.InsertLines Line + 3, "SpinButton1.Top = -SpinButton1.Value"
.InsertLines Line + 4, "'DoEvents"
.InsertLines Line + 5, "кнопка.Top = Me.Height - кнопка.Height - SpinButton1.Value - 20 '20 - высота шапки формы"
.InsertLines Line + 6, "End Sub"
End With
VBA.UserForms.Add(форма.Name).Show
For Each модуль In ActiveWorkbook.VBProject.VBComponents
On Error Resume Next
If модуль.Name = "Module1" Then модуль.Collection.Remove модуль
Next
End Sub
|