Иллюстрированный самоучитель по Delphi 7 для профессионалов

Изменение и настройка внешнего вида панелей

Мы подошли к совсем новому свойству панелей – TActionMainMenuBar. Теперь – как в Microsoft Office – возможно прятать редко используемые пункты меню. В самом деле, интерфейс программ подчас настолько сложен, что используют его на 100% минимальное количество пользователей. Поэтому элементы интерфейса, которые пользователь не задействовал в каком-то числе предыдущих запусков, автоматически прячутся.

Что и когда прятать, определяется свойством:

property PrioritySchedule: TStringList;

Значение которого по умолчанию приведено в табл. 8.4. В левой колонке содержится общее количество запусков приложения, в течение которых пользователь применял данное действие; в правой колонке – число запусков, прошедших со времени последнего его использования. По истечении этого числа запусков клиенты действия маскируются. Например, в меню они доступны не сразу, а после нажатия специального пункта с двумя стрелочками, обращенными вниз.

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

Таблица 8.4. Условия скрытия элементов панелей действий.

Количество запусков приложения с обращением к действию Количество запусков приложения после последнего обращения
0, 1 3
2 6
3 9
4, 5 12
6-8 17
9-13 23
14-24 29
Более 25 31

Для подсчета величин, указанных в этой таблице, введены такие свойства:

  • у объекта TActionBars (дочерний объект TActionManager) есть свойство которое представляет собой глобальный счетчик запусков приложения:
property SessionCount: Integer;
  • у каждого объекта TActionclientitem есть два свойства:
property LastSession: Integer;

В этом свойстве хранится номер последнего запуска приложения, в течение которого использовался данный элемент (нумерация совпадает сSessionCount);

property UsageCount: Integer;

А это – счетчик использования элемента.

Но для того, чтобы оперировать данными о количестве запусков, их надо где-то хранить. Организована система хранения следующим образом. У самого менеджера действий есть свойство:

property FileName: TFileName;

Которое указывает на файл, содержащий все настройки панелей, связанных с данным менеджером. Он имеет формат двоичной формы и считывается/записывается при запуске и выходе из приложения. Впрочем, можно это сделать и в любой момент при помощи методов LoadFormFile и SaveToFile.

Все эти величины меняются автоматически, и их описание приведено для понимания сути происходящего. Сбросить же счетчик статистики запусков можно следующим образом: на этапе разработки на странице Options редактора свойств менеджера действий есть кнопка Reset Usage Count. На этапе выполнения точно такая кнопка есть в диалоге TCustomizeDlg.

Помимо данных для подсчета запусков в этом файле хранится и вся прочая информация о настройках. Последний из не упоминавшихся нами компонентов – диалог настройки TCustomizeDlg. Он представляет собой точную копию редактора свойств TActionManager, но позволяет делать все операции с действиями в режиме выполнения. Вызвать его просто – вызовом метода show. А можно поступить еще проще – есть стандартное действие Customize (категория Tools), которое и подразумевает вызов этого диалога.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.