Если ShowAccelChar=True (по умолчанию),
то в строку заголовка элемента меню будет добавлен "подчеркнутый"
символ, соответствующий порядковому номеру элемента ('1'..'9', 'A', 'B'... и
т.д.). Если значение свойства SeparateSize больше
нуля, то в создаваемое подменю будут добавлены разделители между каждыми SeparateSize
элементами меню.
При выборе пользователем пункта меню из созданного подменю будет вызвано событие
OnClick.
Для сохранения и восстановления списка в INI-файле или (в 32-разрядной версии)
в системном регистре воспользуйтесь свойством IniStorage
или методами SaveToIni, LoadFromIni, SaveToRegistry, LoadFromRegistry.
Вы можете также использовать компоненту TMRUManager
без подключения к меню, например, помещая список в TListBox
или в TComboBox. В этом случае Вы должны сами заполнять
списки этих элементов управления из списка TMRUManager,
который доступен в run-time через свойство Strings.
Description
Если свойство AutoUpdate = True (по умолчанию), то для пункта меню RecentMenu
автоматически будет изменяться подменю с элементами списка при каждом изменении
в списке. Когда список пуст, пункт меню RecentMenu будет запрещенным.
Вы можете также вручную привести меню в соответствие с содержимым списка, вызвав
метод UpdateRecentMenu.
Description
Свойство задает пункт в меню, для которого будет создавать подменю со списком
MRU-элементов. При пустом списке элемент RecentMenu запрещается, если свойство
AutoEnable равно True.
Description
Если свойство AutoEnable установлено в True, то пункт меню RecentMenu будет
автоматически разрешаться или запрещаться в зависимости от количества пунктов
в нем (элементов в MRU-списке).
Свойство обычно используется, если пункт меню RecentMenu содержит только элементы
из MRU-списка.
Declaration
procedure Add(const RecentName: string; UserData: Longint);
Description
Метод служит для добавления строки в список MRU-элементов.
Параметр UserData позволяет Вам ассоциировать с элементом некоторые Ваши данные.
В дальнейшем этот параметр будет передаваться в обработчики событий OnClick,
OnGetItemData
, OnReadItem, OnWriteItem.
В зависимости от значения свойства Mode элемент будет добавлен либо в начало, либо в конец списка.
Declaration
procedure Remove(const RecentName: string);
Description
Метод служит для удаления строки RecentName из списка. В качестве параметра
RecentName передается та же строка, что использовалась при добавлении строки
в список.
Если переданная строка не найдена в списке, то метод не выполняет никаких действий.
Вы можете, например, в приложении работы с файлами вызывать метод Remove(<FileName>)
при открытии окна с файлом, и метод Add(<FileName>, <UserData>)
при закрытии окна с файлом.
Declaration
property OnClick: TClickMenuEvent;
Description
Событие происходит при выборе пользователем пункта из подменю, созданного компонентой
TMRUManager. В качестве параметров в метод-обработчик события передаются заданные
при добавлении элемента в список строка RecentName и значение UserData, а также
заголовок пункта меню Caption (который дополнительно может содержать символ-акселератор
или может быть изменен в обработчике события OnGetItemData).
Declaration
property OnGetItemData: TGetItemEvent;
Description
При создании элементов подменю в RecentMenu по умолчанию создаются пункты с
заголовком, совпадающим со строкой из списка, которую Вы передали в методе Add.
Вы можете также обработать событие OnGetItemData для изменения заголовка создаваемого
пункта меню (параметр Caption) и задания его свойства ShortCut (по умолчанию
scNone).
Declaration
property Capacity: Integer;
Description
Свойство задает общую максимальную емкость списка. Если при добавлении нового
элемента будет превышена эта величина, автоматически будет удален из списка
наиболее старый (последний) элемент. Новый элемент всегда добавляется в начало
списка, если свойство Mode = rmInsert, и в конец списка, если Mode = rmAppend.
Declaration
property Mode: TRecentMode;
Description
Свойство определяет, как будут добавляться элементы в список компоненты TMRUManager.
Если значение свойства равно rmInsert (по умолчанию), то вновь добавляемый элемент
вставляется в начало списка (или, если такой элемент уже существует, перемещается
в начало списка). При значении rmAppend добавляемый элемент появляется в конце
списка.
Declaration
property ShowAccelChar: Boolean;
Description
Если ShowAccelChar=True (по умолчанию), то в строку заголовка элемента меню
будет добавлен "подчеркнутый" символ, соответствующий порядковому
номеру элемента ('1'..'9', 'A', 'B'... и т.д.), при этом первым номером в списке
считается значение свойства StartAccel.
Этот символ будет использоваться как акселератор для быстрого выбора соответствующего
пункта меню.
Declaration
property StartAccel: Cardinal;
Description
Если ShowAccelChar=True (по умолчанию), то в строку заголовка элемента меню
будет добавлен "подчеркнутый" символ, соответствующий порядковому
номеру элемента ('1'..'9', 'A', 'B'... и т.д.), при этом первым номером в списке
считается значение свойства StartAccel (по умолчанию = 1).
Declaration
property SeparateSize: Word;
Description
Свойство позволяет создавать разделители на равном расстоянии между пукнтами
в меню RecentMenu. Если значение свойства SeparateSize больше нуля, то в создаваемое
подменю будут добавлены разделители между каждыми SeparateSize элементами меню.
Declaration
type
TGetItemEvent = procedure (Sender: TObject; var Caption: string; var
ShortCut: TShortCut; UserData: Longint) of object;
Description
Тип определяет процедуру — обработчик события OnGetItemData компоненты TMRUManager.
Declaration
procedure SaveToIni(Ini: TIniFile; const Section: string);
Description
Метод служит для сохранения в INI-файле списка компоненты TMRUManager для последующего
восстановления его с помошью метода LoadFromIni.
Список записывается в специфицированный INI-файл в секцию с именем, возвращаемым
функцией GetDefaultSection.
Если Вы задали значение свойству IniStorage, то список будет сохраняться и восстанавливаться автоматически.
Declaration
procedure LoadFromIni(Ini: TIniFile; const Section: string);
Description
Метод служит для восстановления из INI-файла списка компоненты TMRUManager,
если он был сохранен там с помошью метода SaveToIni. Текущие установки не изменяются,
если специфицированный INI-файл не содержит данных об установках компоненты.
Если Вы задали значение свойству IniStorage, то список будет сохраняться и восстанавливаться автоматически.
property IniStorage: TFormPlacement;
Description
Свойство позволяет автоматически сохранять специфические установки компоненты
в INI-файле или (для 32-разрядной версии) в системном регистре при помощи компонент
TFormPlacement или TFormStorage.
При задании значения свойству IniStorage (и непустом имени компоненты), некоторые
ее настройки, которые не являются published-свойствами и не могут быть заданы
для TFormStorage напрямую, будут сохраняться и восстанавливаться одновременни
с другими значениями, заданными для соответствующей компоненты TFormPlacement
(TFormStorage).
Для TSpeedbar — это расположение кнопок на панели и положение самой панели,
для TMRUManager — список строк, для TRxDBGrid — ширины и положение полей в таблице
и т.д. Все компоненты, имеющие свойство IniStorage, имеют также методы для сохранения
и восстановления их настроек вручную, такие как Save/RestoreLayout и т.д.