如何在VB6中使用New关键字创建新对象,如新建按钮、标签等

如何在VB6中使用New关键字创建新对象,如新建按钮、标签等,vb6,activex,Vb6,Activex,我有一个程序,可以得到几个名字,并将它们保存在一个文件中。我想为文件中保存的每个人创建一个新对象(按钮、标签等)。我使用此代码,但出现错误: Dim i as new object set i= new button 我得到的错误是: ActiveX组件无法在窗体中创建对象,请添加标签和命令按钮。我想你已经这么做了 选择标签,在属性窗口内,将lblPerson设置为Name属性,将0设置为索引属性 选择按钮,在属性窗口内,将cmdPerson设置为Name属性,将0设置为索引属性 现在,您有两

我有一个程序,可以得到几个名字,并将它们保存在一个文件中。我想为文件中保存的每个人创建一个新对象(按钮、标签等)。我使用此代码,但出现错误:

Dim i as new object
set i= new button
我得到的错误是:
ActiveX组件无法在窗体中创建对象,请添加标签和命令按钮。我想你已经这么做了

选择标签,在属性窗口内,将
lblPerson
设置为
Name
属性,将
0
设置为
索引
属性

选择按钮,在属性窗口内,将
cmdPerson
设置为
Name
属性,将
0
设置为
索引
属性

现在,您有两个可以在运行时动态设置的控件数组:

Public Sub AddPersonListControls(idx As Long)
    Load cmdPerson(idx)
    cmdPerson(idx).Caption = "Details"
    cmdPerson(idx).Visible = True
    cmdPerson(idx).Top = cmdPerson(idx - 1).Top + cmdPerson(idx - 1).Height + 10
    cmdPerson(idx).Left = cmdPerson(0).Left

    Load lblPerson(idx)
    lblPerson(idx).Caption = "Person Name " & idx
    lblPerson(idx).Visible = True
    lblPerson(idx).Top = lblPerson(idx - 1).Top + lblPerson(idx - 1).Height + 10
    lblPerson(idx).Left = lblPerson(0).Left
End Sub
无论在何处加载人员的数据,都要创建相应的控件:

Dim numPersons As Long 
numPersons = 3 ' just an example
Dim i As Long
For i = 1 To numPersons - 1
    AddPersonListControls i
Next
您的表单应如下所示(注意:
Form1.ScaleMode
设置为
3像素
):

说明:


虽然我的回答没有直接用
New
关键字来回答您的问题,但它向您展示了在您不知道应该添加多少控件的情况下如何动态添加新控件的正确方法,因此,通过避免使用
命名控件
,而是使用
数组控件

,您是否只想创建屏幕控件?“对象”一词的含义要宽泛得多。我想要一个可点击的对象,我可以为每个人显示一个页面供您帮助,但我应该在哪里添加AddPersonListControls?答案是broad要发表评论,请发布一个包含个人数据的文本文件示例,有人会告诉您如何阅读该文件。