Aktualisiert: 18.05.2007
Newest
  Tipps & Tricks
1.) Anpassung Controls an ein Formular (VB6)
2.) Kopier-Wiederaufnahme (VB6)
3.) Uhrzeit - alle Kürzel (VB6)
4.) Eigene IP-Addresse auslesen (VB6)
5.) Felder - Arrays (allgemeines, deklarieren) (VB.NET)
  Tutorials
1.) Prüfziffernverfahren österreichischer Sozialversic (VB6)
2.) Kommunikation zwischen Formularen bzw. Modulen (VB.NET)
3.) Musikdatein mittels API abspielen (VB6)
4.) Inputbox mit zusätzlichem Button (VB6)
5.) Access & MySQL | Teil 2/2 (VB6)
  Neueste Kommentare
  (letzten 50)
Thomas(21.02.2007 - 14:03)
Dag Johans..(16.11.2006 - 03:44)
Sebi2020(20.10.2006 - 21:43)
Suchen


Grundlagen  (20) | Grafik  (9) | Dateisystem  (9) | Multimedia  (3) | Datenbank  (5)
Drucker  (7) | System  (12) | Internet  (2) | Controls  (16) | Sonstiges  (12)
 95 Tipps & Tricks in der Datenbank 
 Controls > Controls zur Laufzeit erstellen lassen     Kommentar schreiben/ansehen  |  von MiB 
Controls zur Laufzeit erstellen lassen

Man kann in VB auch während der Programmausführung Controls erstellen bzw. hinzufügen.
Dazu gibt es verschiedene Möglichkeiten.

Möglichkeit 1:
Instanzieren und erzeugen der Steuerelemente

Zuerst wird dem Formular mitgeteilt, über welche Steuerelemente es verfügt, d.h. sie müssen erst instanziert werden.
Dim WithEvents Button1 As CommandButton
...
"Button1" soll hier der "CommandButton" Name sein.

Nun werden sie erzeugt.
Set Button1 = Form1.Controls.Add("VB.CommandButton", "Button1")
...
"VB.CommandButton" ist die sog. "ProgID". Diese bestimmt die Objekte. (z.B. die in der Werkzeugliste)

Jetzt können die Eigenschaften erstellt werden.
Button1.Move 0, 0
Button1.Visible = True

...

Ein Codebeispiel, wie man es machen könnte:

Dim WithEvents Button1 As CommandButton
Dim WithEvents PBox1 As PictureBox
Dim WithEvents TBox1 As TextBox

Private Sub Form_Load()
    ' Neuen Button laden
    Set Button1 = Form1.Controls.Add("VB.CommandButton", "Button1")
    Button1.Move 0, 0
    Button1.Visible = True

    'PictureBox erstellen
    Set PBox1 = Form1.Controls.Add("VB.PictureBox", "PBox1")
    PBox1.Move 0, 500
    PBox1.Visible = True

    'Textbox erstellen
    Set TBox1 = Form1.Controls.Add("VB.TextBox", "TBox1")
    TBox1.Move 0, 1000
    TBox1.Visible = True
End Sub


Möglichkeit 2:
Vervielfältigen von Steuerelementen

Nehmen wir an, wir wollen wieder einen oder mehrere "CommandButton" zur Laufzeit hinzufügen.

Dazu plaziert man einen "CommandButton" (Name: Command1) auf der "Form".
Dann nochmals einen "CommandButton" (Name: Command2).
Jetzt kommt ein wichtiger Schritt: man muss dem "CommandButton", den man vervielfältigen will, den Index "0" zuweisen, also den "Command2"!
Mit Hilfe einer Schleife können beliebig viele "CommandButton" hinzugefügt werden.
Dabei wird immer der Index um eins erhöht.

Ein Codebeispiel, wie man es machen könnte:

Private Sub Command1_Click()
    Dim i As Integer

    For i = 1 To 5
        Load Command2(i)
        Command2(i).Top = Command2(i - 1).Top + Command2(i - 1).Height + 120
        Command2(i).Visible = True
    Next i
End Sub

dazugefügt am: 12.01.2003 | bereits betrachtet: 9454 mal   


 5 Kommentare      TOP  
Name:  
Email:  
Kommentar:  
   
 5.)  Dag Johansen  schrieb am 16.11.2006
hat sehr geholfen, haber schon so lange nicht mehr vb6 programmiert, und brauche jetzt einige routinen. danke :-)
 4.)  Madman  schrieb am 14.03.2005
Unload Command2(i) Das Gegenstück zu Load
 3.)  Newbie  schrieb am 06.02.2005
Der Tip ist schon soweit super ... nur wie entlade ich die Controls am einfachsten wieder?!?
 2.)  VFensterB  schrieb am 09.11.2004
Die Antwort ist so einfach wie die Frage, sie lautet: FORUM
 1.)  Werner  schrieb am 09.11.2004
Das Beispiel ist schön und gut, angenommen ich möchte zur Laufzeit ein zwei "TextBoxen" erzeugen, in TextBox1 sollen nur Zahlen eingegeben werden können & in TextBox2 sollen nur Buchstaben eingegeben werden können. Das Beispiel ist sehr Banal, geb ich zu. Hintergrund ist folgender, wie beeinflusse ich in diesem Fall die Eingabemöglichkeiten einer erzeugten TextBox. Wenn jemand eine Idee hat oder sogar der Autor selbst eine Idee hierzu hat, wäre ich über eine E-Mail sehr erfreut! Schönen Gruß & schönen Tag noch Werner
Empfehlen Sie diese Seite | zu Favoriten hinzufügen  Copyright 2004 by visualbasic.at