Шаг 33.
Среда программирования Visual C++.
Динамическое изменение команд меню и панели инструментов
На этом шаге мы обоснуем необходимость изменения меню и панели инструментов в процессе выполнения программы.
Даже после полной реализации функций OnDataConnect() и ОnDataUpload() логический дизайн
пользовательского интерфейса требует доработки. Обратите внимание на следующие соображения.
- Поскольку текущее состояние соединения с базой данных никак не отображается, пользователю не известен
результат выполнения команды Connect.
- Команда Upload, предназначенная для загрузки данных из приложения в удаленную базу данных,
должна учитывать наличие соединения с БД, поскольку начинать передачу данных без подключения к БД бессмысленно.
- Чтобы известить пользователя о текущем состоянии приложения, можно видоизменить пункт меню или кнопку
панели инструментов. Если для пункта меню или кнопки панели инструментов возможно два состояния ("включено"
и "выключено"), то "включенную" команду обычно помечают галочкой, а "включенную" кнопку делают
"утопленной" на панели. Взаимоисключающие команды меню и кнопки объединяют в группу переключателей
(Radio Group), в которой может быть активным только один из них, а остальные при этом автоматически
выключены.
- Бесполезные в данный момент команды меню или кнопки панели инструментов делают недоступными. Так,
например, следует отключить команду загрузки данных в удаленную базу данных, если с ней не установлено соединение.
- Иногда в зависимости от текущего состояния приложения текст пункта меню модифицируется. Однако здесь
важно не переусердствовать, так как постоянно меняющиеся названия команд могут запутать пользователя.
В каркасе MFC-приложения предусмотрен удобный способ динамического изменения внешнего вида
и состояния меню и панелей инструментов посредством создания функций, обрабатывающих сообщения
обновления пользовательского интерфейса.
На следующем шаге мы рассмотрим механизм реализации динамического изменения меню и панели инструментов.
Предыдущий шаг
Содержание
Следующий шаг