0

私は6つのバンドを持つVB6のクールバーを持っています.これらのバンドのそれぞれはツールバータイプの子を持っています. ユーザーは、これらのバンドを移動して、可視性を設定できます。ソフトウェアの再起動時に設定を復元する必要がありますが、順序/場所の復元に問題があります (可視性と幅は問題なく復元できます)。

Coolbar.Bands(Index).Position と Coolbar.Bands(Index).NewRow の設定は、どちらも読み取り専用であるため、復元に問題があります。

Position プロパティと NewRow プロパティを保存し、設計時ではなく実行時に各バンドを作成し、保存したプロパティを使用してバンドを作成する順序を決定できることはわかっています。

実行時にバンドを作成する必要はありませんが、これらの設定を復元する唯一の方法ではないかと思います。実行時にバンドを作成せずにツールバーの順序/場所を復元する方法を知っている人はいますか?

設定を簡単に保存/ロードできるので、そのステップをスキップできます。

どんな助けでも大歓迎です、事前に感謝します

4

1 に答える 1

1

これを直接行うことはできません。ただし、次のコードでは、バンドを移動できるのと同じ効果が得られます。

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
于 2012-08-07T08:40:46.167 に答える