2016-08-04 28 views
0

Ich habe ein Benutzersteuerelement, das ich zu einem Panel in einem Formular hinzugefügt habe. Ich habe Code, der zusätzliche Kopien davon auf dem Formular platzieren wird, müssen wissen, wie man diese zum Panel stattdessen hinzufügt. Panel hat keine Steuereigenschaft.Hinzufügen eines Benutzersteuerelements zu einem Panel auf dem Hauptformular in Vb6

If intCount > 0 Then 
     For intindex = 0 To intCount - 1 
      If intindex > 0 Then 
       Load CICMod(intindex) 
       With CICMod(intindex) 
        .Width = 8775 
        .Height = 3735 
        .Top = CICMod(intindex - 1).Top + 3735 
        .Left = 360 
        .Visible = True 
       End With 
      End If 
      With CICMod(intindex) 
       .RecordID = rs.Fields(0) 
       .Revision = rs.Fields(1) 
       .Seq = rs.Fields(2) 
       .Who = IIf(IsNull(rs.Fields(3)), "", rs.Fields(3)) 
       .Entrydate = IIf(IsNull(rs.Fields(4)), "01/01/1900", rs.Fields(4)) 
       .Hours = IIf(IsNull(rs.Fields(5)), 0, rs.Fields(5)) 
       .Project = IIf(IsNull(rs.Fields(6)), "", rs.Fields(6)) 
       .Types = IIf(IsNull(rs.Fields(7)), "", rs.Fields(7)) 
       .Names = IIf(IsNull(rs.Fields(8)), "", rs.Fields(8)) 
       .Description = IIf(IsNull(rs.Fields(9)), "", rs.Fields(9)) 
      End With 
      If Not rs.EOF Then 
       rs.MoveNext 
      End If 
     Next 
     rs.Close 
    Else 

    End If 

Antwort

1

Dies sollte es tun

Set CICMod(intindex).Container = Frame1 

Die container Eigenschaft legt die Eltern diese Kontrolle in diesem Fall die „Platte“, die so nicht von der Art und Weise in VB6 existieren, zu Frame1 CICMod(intindex) ist jetzt in Frame1 enthalten.

Alternativ können Sie den optionalen Container-Parameter der .Add-Methode verwenden.

object.Add (ProgID, name, container) 

die wie

Set ctlDynamic = Controls.Add("MSComctlLib.TreeCtrl", "myctl", Frame1) 

jedoch verwendet werden würde, fanden viele von ihnen haben das Verfahren nach Wunsch nicht immer zu arbeiten, so würde ich die erste empfehlen. Hier ist etwas mehr lesen, wenn Sie das letztere versuchen möchten (beide obigen Proben wurden daraus abgeleitet). https://msdn.microsoft.com/en-us/library/aa277578(v=vs.60).aspx oder https://support.microsoft.com/en-us/kb/190670

+0

Fügen Sie weitere Erklärungen und Details dazu, warum dies funktionieren könnte und wie es für das Projekt des Benutzers gilt – dbmitch

+1

@ dbmitch Ich dachte, die Antwort war ziemlich offensichtlich und selbsterklärend. – topshot