Добрый вечер!
При прокрутке формы, один из объектов должен оставаться на своем месте. Объект остается, но дерганый, чем его успокоить, чтобы не дергался во время прокрутки?
Вот форма
При прокрутке формы, один из объектов должен оставаться на своем месте. Объект остается, но дерганый, чем его успокоить, чтобы не дергался во время прокрутки?
Вот форма
Код |
---|
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 |