[VB 6]Control-Array übergeben

Von: , Frage gestellt am Di, 13. Jun 2000

Hallo,

Wenn ich in der IDE Mehrere Controls mit gleichen Namen angelegt habe ich ein Array dieser Controls. Wie muß ich das Deklarieren wenn ich es einer Procedure übergeben will?

MFG CBothe

9 Antworten zu dieser Frage

  1. Antwort von nach 2 Stunden hilfreich
    Re: [VB 6]Control-Array übergeben

    Hallo

    Ich denke das wird nicht gehen.
    gruss, Giuseppe [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach einem Tag hilfreich
      Re^2: [VB 6]Control-Array übergeben

      Hallo,

      habe die Lösung gefunden
      Steuerelementefeld ist vom Typ Object.

      MFG CB

      • Antwort von nach einem Tag hilfreich
        Re^3: [VB 6]Control-Array übergeben

        Kannst Du den Code hier posten? Nimmt mich auch Wunder. [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

        • Antwort von nach einem Tag hilfreich
          Re^4: [VB 6]Control-Array übergeben

          Hallo,

          hier der code:

          Option Explicit
          Private Sub Form_Load()
          SwitchFrame Frame1, 3
          End Sub
          Public Sub SwitchFrame(rahmen As Object, idx As Integer)
          Dim a  As Integer
          For a = 0 To rahmen.Count - 1
          If a = idx Then
          rahmen(a).Visible = True
          Else
          rahmen(a).Visible = False
          End If
          Next
          End Sub
          

          • Antwort von nach einem Tag hilfreich
            Re^5: [VB 6]Control-Array übergeben

            cool, wäre nicht draufgekommen

  2. Antwort von nach 5 Stunden hilfreich
    Re: [VB 6]Control-Array übergeben

    ReHallo

    1. Vorschlag: Probiere es mit einem Array of Objects
    2. Vorschlag: Wenn 1. nicht funktioniert, dann übergib die Parent-Form, durchlaufe in der Funktion die Controls-Auflistung der Form und checke den Namen (

    dim c as control
    for each c in form.controls
    if c.name="name" then...
    next
    


    cu, holli [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach einem Tag hilfreich
      Re^2: [VB 6]Control-Array übergeben

      Hallo,

      folgende lösung habe ich gefunden:

      Option Explicit
      Private Sub Form_Load()
      SwitchFrame Frame1, 3
      End Sub
      Public Sub SwitchFrame(rahmen As Object, idx As Integer)
      Dim a  As Integer
      For a = 0 To rahmen.Count - 1
      If a = idx Then
      rahmen(a).Visible = True
      Else
      rahmen(a).Visible = False
      End If
      Next
      End Sub
      


      Dank für deine Antwort und MFG CB

  3. Antwort von nach einem Tag hilfreich
    Re: [VB 6]Control-Array übergeben

    Auch Hallo,

    hab gerade kein VB da. Aber ich wuerde den Parameter in der Sub/Funktion einfach als variant definieren

    Und dann kannst du das Controll array einfach reinstopfen Test(MeinControls) und in der Funktion über den Index zugreifen. Aus dem Kopf würde ich sagen über Item:

    Sub Test(MeinControl as Variant)
    MeinControl.Item(0).Caption ="BlahBlub"
    MeinControl.Item(1).Caption ="BlubBlah"
    end sub

    Das sollte funktionieren.

    Viel Spass,

    Asmodi [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  4. Antwort von nach 2 Tagen hilfreich
    Re: [VB 6]Control-Array übergeben

    Sub test(ctl as control)
    Falls die Übergabe 'call test(MeinControl) ist:
    ctl(0).Left = 10
    Falls die Übergabe 'call test(MeinControl(0)) ist:
    ctl.Left= 10
    End Sub [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!