gpt4 book ai didi

vb6 在运行时使用后台标签更改 SSTab 的颜色

转载 作者:行者123 更新时间:2023-12-02 09:01:51 24 4
gpt4 key购买 nike

我正在尝试更新旧的 VB6 应用程序。我正在努力在运行时更改 SSTab 控件的背景色。

我知道我不能只将背景色设置为所需的颜色。

在设计时,我在每个选项卡上创建了一个标签,然后将标签大小调整为 sstab 尺寸。然后我设置标签背景色。这工作得很好。

但是,我真正想做的是在运行时执行此操作,以便将来在表单上添加新的选项卡控件时,我不需要每次在设计时手动执行此操作。

如果有人能给我指明正确的方向,以便在运行时在 SSTab 控件的每个选项卡上创建和显示标签,我将不胜感激?

我的所有选项卡上都没有框架,因此我不想使用框架容器来容纳标签。我宁愿在运行时将标签放置在选项卡容器上。

谢谢,期待您的回复。

最佳答案

正如 svinto 所说,您可以将新控件加载到控件数组中,但还有更多功能。

首先,新控件不可见,因此必须设置 .Visible=True您还需要在创建控件之前设置当前选项卡以将其放置在该选项卡上。

假设您已经在第一个选项卡上有了第一个标签:

For i = 1 To Me.SSTab1.Tabs - 1
Me.SSTab1.Tab = i
Load lblOne(i)
lblOne(i).Visible = True
Next

此外,这在 Form_Load 事件中不起作用,但在 Form_Activate 中起作用

还有另一种方法可以从头开始创建标签,而不是使用控制数组,这可能更好,因为您不需要将第一个标签添加到表单中:

Private Sub Form_Activate()
Dim lbl() As Label
Dim i As Integer
Dim name As String

ReDim lbl(SSTab1.Tabs - 1)
For i = 0 To Me.SSTab1.Tabs - 1
Me.SSTab1.Tab = i
name = "MyLabel" & CStr(i)
Set lbl(i) = Form1.Controls.Add("VB.Label", name)
Set lbl(i).Container = Me.SSTab1
lbl(i).Visible = True
lbl(i).Caption = name
lbl(i).Move 40, 345
lbl(i).BackColor = vbGreen
Next
End Sub

关于vb6 在运行时使用后台标签更改 SSTab 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/629776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com