vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Dynamische erzeugung von Controls in einem Frame 
Autor: mnjakob
Datum: 18.05.05 13:28

Hallo,

ich möchte in unterschiedlichen Frames dynamisch Controls erzeugen.
Mit einem Frame kein Problem.
Hier der Code, den ich in einem Modul aufrufe
Sub NewControl(ByVal cFrame As Frame, ByRef Zaehler As Integer)
  Dim i As Integer, j As Integer
  Dim AbstandX As Integer, AbstandY As Integer
  Dim CIndex As Integer, LIndex As Integer
  Dim hoehe As Integer
 
  'Linke Spalte
  cFrame.Caption = "Michael Jakob  |  " + MonatsName(CStr(Month(Now))) + " - " _
    & CStr(Year(Now))
  AbstandX = frm_Anwesenheit_neu.Check1(1).Left - frm_Anwesenheit_neu.Check1( _
  0).Left
  AbstandY = frm_Anwesenheit_neu.Check1(2).Top - frm_Anwesenheit_neu.Check1( _
  0).Top
  CIndex = 1
  LIndex = 1
 
  For i = 0 To 2
    If LIndex > 1 Then
       Load frm_Anwesenheit_neu.Label1(LIndex)
    End If
 
    frm_Anwesenheit_neu.Label1(LIndex).Top = frm_Anwesenheit_neu.Label1(0).Top _
      + AbstandY * i
    frm_Anwesenheit_neu.Label1(LIndex).Left = frm_Anwesenheit_neu.Label1(0).Left
    If CStr(frm_Anwesenheit_neu.Label1(LIndex).Caption) <> "0" Then
        frm_Anwesenheit_neu.Label1(LIndex).Visible = True
    Else
        frm_Anwesenheit_neu.Label1(LIndex).Visible = False
    End If
    If i = 1 Then
        frm_Anwesenheit_neu.Label1(LIndex).Caption = "A"
    ElseIf i = 2 Then
        frm_Anwesenheit_neu.Label1(LIndex).Caption = "oA"
        hoehe = frm_Anwesenheit_neu.Label1(LIndex).Top
    End If
'MsgBox (CStr(LIndex) & CStr(frm_Anwesenheit_neu.Label1(LIndex).Caption))
    LIndex = LIndex + 1
  'Obere Reihe
    For j = 0 To Zaehler - 1
      If CIndex > 2 Then ' 3 Checkboxen sind schon da: 0-2
        Load frm_Anwesenheit_neu.Check1(CIndex)
      End If
 
      If i = 0 Then
        If LIndex > 0 Then ' 2 Label sind schon da
          Load frm_Anwesenheit_neu.Label1(LIndex)
        End If
 
        frm_Anwesenheit_neu.Label1(LIndex).Top = frm_Anwesenheit_neu.Label1( _
          1).Top - 250
        frm_Anwesenheit_neu.Label1(LIndex).Left = frm_Anwesenheit_neu.Check1( _
        0).Left + AbstandX * j * 2 - 50
        frm_Anwesenheit_neu.Label1(LIndex).Visible = True
        frm_Anwesenheit_neu.Label1(LIndex).Caption = Left(DatumsWerte(j), 3)
        frm_Anwesenheit_neu.Label1(LIndex).FontBold = False
        frm_Anwesenheit_neu.Label1(LIndex).Width = 615
        If Left(DatumsWerte(j), 1) = "M" Then
            frm_Anwesenheit_neu.Label1(LIndex).ForeColor = vbBlue
        ElseIf Left(DatumsWerte(j), 1) = "F" Then
            frm_Anwesenheit_neu.Label1(LIndex).ForeColor = &HFF00FF
        End If
        LIndex = LIndex + 1
      End If
 
      frm_Anwesenheit_neu.Check1(CIndex).Top = frm_Anwesenheit_neu.Check1( _
        0).Top + AbstandY * i
      frm_Anwesenheit_neu.Check1(CIndex).Left = frm_Anwesenheit_neu.Check1( _
      0).Left + AbstandX * j * 2
      frm_Anwesenheit_neu.Check1(CIndex).Visible = True
      CIndex = CIndex + 1
    Next j
 
  Next i
    cFrame.Height = hoehe + 400
End Sub
Aber wie bekomme ich es jetzt hin, dass ich ein weiteres Frame erzeuge und darin wieder die Dynamischen Controls???

Hat da jemand vielleicht eine Idee?

Danke im vorraus
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dynamische erzeugung von Controls in einem Frame651mnjakob18.05.05 13:28
Re: Dynamische erzeugung von Controls in einem Frame387Zardoz18.05.05 14:40
Re: Dynamische erzeugung von Controls in einem Frame414mnjakob18.05.05 15:04

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel