На главную страницу
Форум txt.version   




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

 

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

Мы подошли к совсем новому свойству панелей — 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), которое и подразумевает вызов этого диалога.

 

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

страницы в данном разделе 
 ГЛАВА 8   ГЛАВА 8 Действия (Actions) и связанные с ними компоненты
 Действия. Компонент TActionList  События, связанные с действиями
 Свойства, распространяемые на клиентов действия  Прочие свойства
 Стандартные действия  Категория Edit
 Категория Search  Категория Help
 Категория File  Категория Dialog
 Категория Window  Категория Tab
 Категория List  Категория Internet
 Категория Format  Категория Dataset
 Категория Tools  Компонент TActionManager
 Изменение и настройка внешнего вида панелей  Ручное редактирование коллекций панелей и действий
 Резюме   


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)
Flutter
React Native
Xamarin

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
React Native
demo forum