Tipp 0206 Controls dynamisch laden
Autor/Einsender:
Datum:
  Detlev Schubert
16.03.2002
Entwicklungsumgebung:   VB 5
Es gibt Situationen, in denen ein Programm erst zur Laufzeit so richtig gestaltet werden kann, oder es ist sogar zweckmäßiger, dies erst zur Laufzeit zu machen. So taucht auch öfters die Frage auf, wie man denn so etwas bewerkstelligen kann.
Es gibt unterschiedliche Möglichkeiten, aber die einfachste Lösung ist das Anlegen eines Control-Arrays, wie es dieser Tipp anschaulich demonstriert.
 
Option Explicit

Private Sub Command1_Click()
  Dim i As Integer, j As Integer
  Dim AbstandX As Integer, AbstandY As Integer
  Dim CIndex As Integer, LIndex As Integer

  AbstandX = Check1(1).Left - Check1(0).Left
  AbstandY = Check1(2).Top - Check1(0).Top
  CIndex = 0
  LIndex = 0

  For i = 0 To 4
    If LIndex > 1 Then
       Load Label1(LIndex)
    End If

    Label1(LIndex).Top = Label1(0).Top + AbstandY * i
    Label1(LIndex).Left = Label1(0).Left
    Label1(LIndex).Visible = True
    Label1(LIndex).Caption = CStr(i)
    LIndex = LIndex + 1

    For j = 0 To 9
      If CIndex > 2 Then
        Load Check1(CIndex)
      End If

      If i = 0 Then
        If LIndex > 1 Then
          Load Label1(LIndex)
        End If

        Label1(LIndex).Top = Label1(1).Top
        Label1(LIndex).Left = Label1(1).Left + AbstandX * j
        Label1(LIndex).Visible = True
        Label1(LIndex).Caption = CStr(j)
        LIndex = LIndex + 1
      End If

      Check1(CIndex).Top = Check1(0).Top + AbstandY * i
      Check1(CIndex).Left = Check1(0).Left + AbstandX * j
      Check1(CIndex).Visible = True
      CIndex = CIndex + 1
    Next j
  Next i
End Sub

Private Sub Check1_Click(Index As Integer)
  Text1.Text = "Check1 (Index " + Format(Index) + ") "
  If Check1(Index).Value = 1 Then
    Text1.Text = Text1.Text + " AN"
  Else
    Text1.Text = Text1.Text + " AUS"
  End If
End Sub
 
Weitere Links zum Thema
Controls einer Form zurücksetzen
Steuerelement zur Laufzeit in einem Container platzieren

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (2,6 kB) Downloads bisher: [ 1678 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Dienstag, 27. September 2011