我有一个用户控件,我已添加到表单上的面板中。 我有代码,将在表单上放置此更多副本需要知道如何将这些添加到面板。 Panel没有控件属性。
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
答案 0 :(得分:1)
这应该这样做
Set CICMod(intindex).Container = Frame1
container
属性设置该控件的父级,在本例中是“面板”,顺便说一下,VB6中不存在于Frame1,因此{1}现在包含CICMod(intindex)
。
或者,您可以使用.Add方法的可选Container参数。
object.Add (ProgID, name, container)
将像
一样使用Set ctlDynamic = Controls.Add("MSComctlLib.TreeCtrl", "myctl", Frame1)
然而,许多人发现这种方法并不总能按预期工作,所以我会推荐第一种方法。如果希望尝试后者,这里有更多的阅读(上面的两个样本都来自这些)。 https://msdn.microsoft.com/en-us/library/aa277578(v=vs.60).aspx或https://support.microsoft.com/en-us/kb/190670