Динамическое изменение команд меню и панели инструментов

   
На этом шаге мы обоснуем необходимость изменения меню и панели инструментов в процессе выполнения программы.

   
Даже после полной реализации функций OnDataConnect() и ОnDataUpload() логический дизайн
пользовательского интерфейса требует доработки. Обратите внимание на следующие соображения.

  • Поскольку текущее состояние соединения с базой данных никак не отображается, пользователю не известен
    результат выполнения команды Connect.
  • Команда Upload, предназначенная для загрузки данных из приложения в удаленную базу данных,
    должна учитывать наличие соединения с БД, поскольку начинать передачу данных без подключения к БД бессмысленно.
  • Чтобы известить пользователя о текущем состоянии приложения, можно видоизменить пункт меню или кнопку
    панели инструментов. Если для пункта меню или кнопки панели инструментов возможно два состояния ("включено"
    и "выключено"), то "включенную" команду обычно помечают галочкой, а "включенную" кнопку делают
    "утопленной" на панели. Взаимоисключающие команды меню и кнопки объединяют в группу переключателей
    (Radio Group), в которой может быть активным только один из них, а остальные при этом автоматически
    выключены.
  • Бесполезные в данный момент команды меню или кнопки панели инструментов делают недоступными. Так,
    например, следует отключить команду загрузки данных в удаленную базу данных, если с ней не установлено соединение.
  • Иногда в зависимости от текущего состояния приложения текст пункта меню модифицируется. Однако здесь
    важно не переусердствовать, так как постоянно меняющиеся названия команд могут запутать пользователя.

   
В каркасе MFC-приложения предусмотрен удобный способ динамического изменения внешнего вида
и состояния меню и панелей инструментов посредством создания функций, обрабатывающих сообщения
обновления пользовательского интерфейса.

   
На следующем шаге мы рассмотрим механизм реализации динамического изменения меню и панели инструментов.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий