Objekt auf Form laden während Laufzeit

III

Mitglied
Objekt während Laufzeit auf Form laden

Hallo zusammen,

ich möchte mit einem Button ein neues Label auf eine Form laden.

Dies soll zur Laufzeit geschehen.
Ich habe mich mal ein wenig in der Hilfe umgesehen, und denke dass ich mit
den Anweisungen [SET] und [LOAD] richtig liege.
Aber es funktioniert nicht so wie ich es will.

Meine Frage nun:

Gibt es eine (sehr) einfache Methode, um neue Objekte auf eine vorhandene Form zu laden?

Und 20 'unsichtbare' Labels auf die Form zu klatschen und sie dann via Object.Show sichtbar zu machen wäre wohl unterstes Programmierniveau.

Also danke für die Hilfe

Gruß III
 
Zuletzt bearbeitet:
Steuerelemente dynamich laden

Hi III,

anbei ein wenig Code zum Nachbasteln. Wichtig ist bei der Funktion, dass die Checkbox "chk_Project" mit Index 0 in der Form unsichtbar anlegst.

Dann werden zu beginn alle Checkboxen entladen....

For x = 1 To chk_Project.UBound
Unload chk_Project(x)
Next


... bevor die Checkboxen dynamisch angelegt werden.

For x = 1 To i
' laden der Checkbox
Load chk_Project(x)
' sichtbar schalten
chk_Project(x).Visible = True
' Überschrift eintragen
chk_Project(x).Caption = strProjects(x)
' Positionieren
chk_Project(x).Top = chk_Project(x).Top + offset
' freischalten, wenn DB nicht existiert
chk_Project(x).Enabled = Not bDBexistiert
' Offset aktualisieren
offset = offset + chk_Project(x).Height
Next



Sollte so funktionieren.

Grüße
Ulf
 
Hallo

Da Dein Form noch keine weiteren Labels trägt, brauchst Du sie vorher nicht Entladen, aber sonst ist der Code da schon sehr brauchbar.
Statt die Controls explizit Parameter für Parameter an Ihre Position zu rücken, hilft meistens die Methode .move, in der alle vier Dimensionen angegeben werden können. Am Ende aller Control-Erzeugungs- und -Versiebearbeiten ist es hilfreich dein Form noch mittels .refresh dazu zu bringen die Controls auch wirklich dort anzuzeigen, wo Du sie hingeschoben hast.

hth, Yves
 

Neue Beiträge

Zurück