1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| Sub sDynamic()
Dim frm As Form
Dim mdl As Module
Dim lng As Long
Dim str As String
Dim ctl As Control
Set frm = Application.CreateForm()
With frm
.Width = 12 * 567
.Section(acDetail).Height = 10 * 567
.HasModule = True
Set mdl = .Module
Set ctl = Application.CreateControl(.Name, acLine, , , , 567, 567, 0, 0)
ctl.Name = "trtH"
Set ctl = Application.CreateControl(.Name, acLine, , , , 567, 567, 0, 0)
ctl.Name = "trtV"
Set ctl = Application.CreateControl(.Name, acCommandButton, , , , 8 * 567, 567, 2 * 567, 567)
ctl.Name = "btcInitialise"
ctl.Caption = "Initialise"
lng = mdl.CreateEventProc("Click", ctl.Name)
str = vbTab & "trtH.Width = 0" & vbCrLf & _
vbTab & "trtV.Height = 0" & vbCrLf & _
vbTab & "Me.TimerInterval = 0"
mdl.InsertLines lng + 2, str
Set ctl = Application.CreateControl(.Name, acCommandButton, , , , 8 * 567, 2 * 567, 2 * 567, 567)
ctl.Name = "btcGo"
ctl.Caption = "Go"
lng = mdl.CreateEventProc("Click", ctl.Name)
str = vbTab & "Me.TimerInterval = 1"
mdl.InsertLines lng + 1, str
lng = mdl.CreateEventProc("Timer", "Form")
str = vbTab & "Select Case trtH.Width" & vbCrLf & _
vbTab & " Case Is >= (6 * 567)" & vbCrLf & _
vbTab & " Me.TimerInterval = 0" & vbCrLf & _
vbTab & " Me.TimerInterval = 0" & vbCrLf & _
vbTab & " Case Else" & vbCrLf & _
vbTab & " trtH.Width = trtH.Width + 48" & vbCrLf & _
vbTab & "End Select" & vbCrLf & _
vbTab & "Select Case trtV.Height" & vbCrLf & _
vbTab & " Case Is >= (6 * 567)" & vbCrLf & _
vbTab & " Me.TimerInterval = 0" & vbCrLf & _
vbTab & " Case Else" & vbCrLf & _
vbTab & " trtV.Height = trtV.Height + 48" & vbCrLf & _
vbTab & "End Select"
mdl.InsertLines lng + 2, str
DoCmd.OpenForm .Name
End With
Set ctl = Nothing
Set mdl = Nothing
Set frm = Nothing
End Sub |
Partager