这组对象允许操作工程──即,添加工程到已有的工程组中或从其中删除工程。也可以把 VBComponents 添加到工程中或将其从工程中删除掉。VBComponent 是能添加到 Visual Basic 工程的任何对象,例如窗体、控件、代码模块等等。
下面的代码片断演示了如何引用 VBProject 对象和 VBProjects 集合,以及其它扩展性对象:
'创建新工程。Private Sub cmdCreateNew_Click()Dim p As VBProjectSet p = vbi.VBProjects.Add _(cmbProjKind.ItemData(cmbProjKind.ListIndex))If txtProjName.Text <> "" Thenp.Name = txtProjName.TextEnd IfEnd Sub'激活部件。Private Sub cmdActivate_Click()Dim sc As StringDim sp As StringDim c As VBComponentsp = cmbProj.Textsc = cmbComp.TextIf sp <> "" And sc <> "" ThenSet c = _vbi.VBProjects.Item(sp).VBComponents.Item(sc)c.ActivateEnd IfEnd Sub'按cmbCompKind combo里指示的类型创建的新部件。Private Sub cmdCreateNewVBComponent_Click()Dim p As VBProjectDim c As VBComponentDim sp As Stringsp = cmbProj.TextIf sp <> "" ThenSet p = vbi.VBProjects.Item(sp)Set c = p.VBComponents.Add _(cmbCompKind.ItemData(cmbCompKind.ListIndex))End IfEnd Sub'从代码模块中获取文本并显示在文本控件中。Private Sub cmdGetText_Click()Dim i As LongDim str As StringDim p As VBProjectDim c As VBComponentDim sc As StringDim sp As StringScreen.MousePointer = vbHourglasssp = cmbProj.Textsc = cmbComp.TextIf sp <> "" And sc <> "" ThenSet c = _vbi.VBProjects.Item(sp).VBComponents.Item(sc)txtDisplay.Text = "" '清除文本控件。For i = 1 To c.CodeModule.CountOfLinesstr = str & c.CodeModule.Lines(i, 1) & CRLFNext itxtDisplay.Text = strSynchCodePaneScrollEnd IfScreen.MousePointer = vbDefaultEnd Sub'刷新由主对象中的事件调用的工程列表。Public Sub RefreshProjects()Dim p As VBProjectDim tempIndex As LongScreen.MousePointer = vbHourglassIf cmbProj.ListCount > 0 ThentempIndex = cmbProj.ListIndex'用来恢复先前的选定的临时索引。End IfcmbProj.ClearFor Each p In vbi.VBProjectscmbProj.AddItem p.NameNext p'恢复先前的选定。If cmbProj.ListCount > 0 ThenIf tempIndex <= cmbProj.ListCount - 1 ThencmbProj.ListIndex = tempIndexElsecmbProj.ListIndex = 0End IfEnd IfScreen.MousePointer = vbDefaultEnd Sub