如何在程序中动态增加一个控件数组(不是动态增加一个控件)? 如何在程序中动态增加一个控件数组(不是动态增加一个控件)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像没有可能的吧,因为MSDN里写道Controls类型不是Collection类型,而是一个比Collection更小范围的集合对象,而且,在VB中不能够创建这个对象,我们只能使用已经存在的一个Controls类型的数组……所以,似乎你的问题没有什么答案诶…… 用API创建一个控件,设定它的INDEX 再一个个的加控件 sysmaster(为什么我还不懂) :用API创建一个控件,设定它的INDEX 再一个个的加控件具体怎么实现? 可以,我以前写一个关于用户投诉的小程序,因为不能肯定某个单位或部分有多少领导要批复,所以其中的领导批复意见就是用动态添加SSTAB和textBOX实现的,不过代码现在不在单位,在家里的机器上,等我回家找到了,再给你帖上! 代码来了,看可有参考价值:程序的主要目的是在SSTAB的选项卡上添加RichTextBox控件:Private WithEvents CLYJText As RichTextBoxDim i, CLYJ_Count As Integer CLYJ_Count = rYD.RowCount If CLYJ_Count >= 3 Then SSTab1.Tabs = CLYJ_Count + 1 SSTab1.TabsPerRow = CLYJ_Count + 1 For i = 0 To CLYJ_Count SSTab1.Tab = i SSTab1.Caption = "处理意见" & i + 1 Set CLYJText = Controls.Add("RichText.RichTextCtrl.1", "CLYJText" & i, SSTab1) With CLYJText .Visible = True .Height = 1815 .Left = 60 .Top = 360 .Width = 7935 .Tag = "CLYJ" .Text = rYD.DataFrom("CLYJ", i) & vbNewLine _ & rYD.DataFrom("CLRM", i) & vbNewLine _ & rYD.DataFrom("CLRQ", i) & vbNewLine _ & rYD.DataFrom("CLSJ", i) .Locked = True .BackColor = &H8000000F .Locked = True .BackColor = &H8000000F End With Next Else SSTab1.Tabs = 3 SSTab1.TabsPerRow = 3 For i = 0 To 2 SSTab1.Tab = i SSTab1.Caption = "处理意见" & i + 1 Set CLYJText = Controls.Add("RichText.RichTextCtrl.1", "CLYJText" & i, SSTab1) With CLYJText .Visible = True .Height = 1815 .Left = 60 .Top = 360 .Width = 7935 .Tag = "CLYJ" .Text = rYD.DataFrom("CLYJ", i) & vbNewLine _ & rYD.DataFrom("CLRM", i) & vbNewLine _ & rYD.DataFrom("CLRQ", i) & vbNewLine _ & rYD.DataFrom("CLSJ", i) .Locked = True .BackColor = &H8000000F .Locked = True .BackColor = &H8000000F End With NextEnd If 注: rYD.datafrom(....)之类的是一个数据对象,你可以全部删除,添加的内容, sanwaxubin(一笑而过) :RichText.RichTextCtrl.1代表什么东西,为什么后面要加上".1" RichText控件的ProgID(RICHTEXT.RichtextCtrl.1) C:\WINNT\system32\TABCTL32.OCX 的ProgID就是:TabDlg.SSTab.1你可以自己查啊!每个都有啊! 现在窗体中创建一个控件,比如command1 设置Index=0在程序中的必要代码位置添加load command1(n)其中n为你要添加的控件索引 如load command1(1) douhapy(双喜) 现在窗体中创建一个控件,比如command1 设置Index=0在程序中的必要代码位置添加load command1(n)其中n为你要添加的控件索引 如load command1(1)你这样不是创建动态控件数组吧,因为这样创建的控件数组,设计时创建的不能删除. 若是你想在程序中动态添加Command1(0),并且在程序中动态删除这个控件,你可以参考VB6.0的Msdn目录下的例子,该例子在" ... ...\MSDN98\98VS\2052\SAMPLES\VB98\CtlsAdd"文件夹下。运用到了Licenses 集合和CallByName函数,限于篇幅,在下就不复制过来了。 希望该例子能对你有帮助! VB使用资源文件中一个惊人的大BUG 为什么程序dubug单步运行结果正确,编译成Exe文件结果就不正确了? Inet控件编写FTP程序问题,急,请各位大哥帮忙!! VB中如何实现取得音频信息(高分) 哪儿有关于vb API函数的参数解释大全?????????(最好是中文的网站) 关于DATAGRID的问题,我在线等待,大家帮忙啊,谢谢了 修改数据库问题 推荐VB书 怎样从一个Variant变量中读出不同结构的自定义类型值? 本人对随机函数始终不明白,想请教 split函数的用法 一个愚蠢的问题!
所以,似乎你的问题没有什么答案诶……
用API创建一个控件,设定它的INDEX 再一个个的加控件
具体怎么实现?
程序的主要目的是在SSTAB的选项卡上添加RichTextBox控件:Private WithEvents CLYJText As RichTextBoxDim i, CLYJ_Count As Integer CLYJ_Count = rYD.RowCount
If CLYJ_Count >= 3 Then
SSTab1.Tabs = CLYJ_Count + 1
SSTab1.TabsPerRow = CLYJ_Count + 1
For i = 0 To CLYJ_Count
SSTab1.Tab = i
SSTab1.Caption = "处理意见" & i + 1
Set CLYJText = Controls.Add("RichText.RichTextCtrl.1", "CLYJText" & i, SSTab1)
With CLYJText
.Visible = True
.Height = 1815
.Left = 60
.Top = 360
.Width = 7935
.Tag = "CLYJ"
.Text = rYD.DataFrom("CLYJ", i) & vbNewLine _
& rYD.DataFrom("CLRM", i) & vbNewLine _
& rYD.DataFrom("CLRQ", i) & vbNewLine _
& rYD.DataFrom("CLSJ", i)
.Locked = True
.BackColor = &H8000000F
.Locked = True
.BackColor = &H8000000F
End With
Next
Else
SSTab1.Tabs = 3
SSTab1.TabsPerRow = 3
For i = 0 To 2
SSTab1.Tab = i
SSTab1.Caption = "处理意见" & i + 1
Set CLYJText = Controls.Add("RichText.RichTextCtrl.1", "CLYJText" & i, SSTab1)
With CLYJText
.Visible = True
.Height = 1815
.Left = 60
.Top = 360
.Width = 7935
.Tag = "CLYJ"
.Text = rYD.DataFrom("CLYJ", i) & vbNewLine _
& rYD.DataFrom("CLRM", i) & vbNewLine _
& rYD.DataFrom("CLRQ", i) & vbNewLine _
& rYD.DataFrom("CLSJ", i)
.Locked = True
.BackColor = &H8000000F
.Locked = True
.BackColor = &H8000000F
End With
Next
End If
RichText.RichTextCtrl.1代表什么东西,为什么后面要加上".1"
你可以自己查啊!每个都有啊!
在程序中的必要代码位置添加load command1(n)
其中n为你要添加的控件索引 如load command1(1)
现在窗体中创建一个控件,比如command1 设置Index=0
在程序中的必要代码位置添加load command1(n)
其中n为你要添加的控件索引 如load command1(1)你这样不是创建动态控件数组吧,因为这样创建的控件数组,设计时创建的不能删除.