Vb6 我如何恢复Coolbar乐队订单?
我在VB6中有一个Coolbar,它有6个带区,每个带区都有一个子工具栏类型。用户可以移动这些标注栏并设置其可见性。当软件重新启动时,我需要恢复设置,但我在恢复顺序/位置时遇到一些问题(我可以恢复可见性和宽度,没有问题) 还原时遇到问题的设置是Coolbar.Bands(Index).Position和Coolbar.Bands(Index).NewRow,因为这两个属性都是只读的 我知道我可以保存Position和NewRow属性,然后在运行时而不是在设计时创建每个标注栏,然后使用保存的属性确定创建标注栏的顺序 我不希望在运行时创建带区,但我怀疑这可能是恢复这些设置的唯一方法。有人知道一种方法可以恢复工具栏的顺序/位置,而不必在运行时创建标注栏吗 我可以很容易地保存/加载设置,因此我们可以跳过该步骤Vb6 我如何恢复Coolbar乐队订单?,vb6,toolbar,Vb6,Toolbar,我在VB6中有一个Coolbar,它有6个带区,每个带区都有一个子工具栏类型。用户可以移动这些标注栏并设置其可见性。当软件重新启动时,我需要恢复设置,但我在恢复顺序/位置时遇到一些问题(我可以恢复可见性和宽度,没有问题) 还原时遇到问题的设置是Coolbar.Bands(Index).Position和Coolbar.Bands(Index).NewRow,因为这两个属性都是只读的 我知道我可以保存Position和NewRow属性,然后在运行时而不是在设计时创建每个标注栏,然后使用保存的属性确
任何帮助都将不胜感激,请提前感谢您不能直接这样做。但是,以下代码应提供与移动标注栏相同的效果:
Private Sub MoveBand(ByVal the_nFromIndex As Long, ByVal the_nToIndex As Long, ByVal the_bNewRow As Boolean)
Dim oOldBand As Band
Dim oNewBand As Band
Dim sKey As String
With CoolBar.Bands
Set oOldBand = .Item(the_nFromIndex)
sKey = oOldBand.Key
oOldBand.Key = vbNullString
Set oNewBand = .Add(the_nToIndex + 1, sKey, oOldBand.Caption, oOldBand.Image, the_bNewRow, oOldBand.Child, oOldBand.Visible)
Set oOldBand = Nothing
.Remove the_nFromIndex
End With
End Sub
谢谢你,可惜不可能直接做,但这应该很好。