Как лучше сделать динамически изменяемую Toolbar? - VB

Узнай цену своей работы

Формулировка задачи:

Всем привет, В моей программе в зависимости от того, какая форма активна (у меня MDI интерфейс), панель инструментов на главном окне выглядит по-разному. Как только активизируется некоторое окно, панель меняет свой внешний вид. Точнее, этого пока еще нет, и я хотел посоветоваться, как лучше это осуществить. Я решил сделать так. У каждой формы есть свой объект MyToolbar, который хранит информацию о внешнем виде панели для данной формы. Как только форма активизируется, совершается действие вроде MainForm.Toolbar = Form1.MyToolbar, в результате чего панель инструментов на главной форме меняет свой вид. Вопрос в том, как лучше реагировать на нажатие кнопок на панели. Можно сделать так, что при активной форме Form1 события о нажатии клавиш получает Form1 от своего объекта MyToolbar. А можно сделать, чтобы, вне зависимости от того, какая форма активна, события происходили и анализировались в главной форме. Я хотел узнать, как другие решают эту задачу. Мне кажется, что такая вещь, как динамически изменяющаяся панель, не является редкостью. Кто как решал эту проблему? Буду очень благодарен за помощь.

Решение задачи: «Как лучше сделать динамически изменяемую Toolbar?»

textual
Листинг программы
buttonArray = Split(Me.Tag, ',')
LockWindowUpdate Toolbar1.hWnd
For i = 1 To 20
    Toolbar1.Buttons(i).Visible = False
    For j = 0 To UBound(buttonArray)
        If i = Val(buttonArray(j)) Then
            Toolbar1.Buttons(i).Visible = True
            Exit For
        End If
    Next j
Next i
LockWindowUpdate 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы