Как лучше сделать динамически изменяемую 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д