Функции и процедуры Delphi. Справочник.

 

Не знаешь, где искать?
Читай Delphi FAQ!

 


ХI. ФУНКЦИИ И ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С КЛАССАМИ И КОМПОНЕНТАМИ

3. Функции и процедуры для работы с меню.


Функция NewItem (
const ACaption: string;
AShortCut: TShortCut;
AChecked: Boolean;
AEnabled: Boolean;
AOnClick: TNotifyEvent;
hCtx: Word;
const AName: string ): TMenuItem


type TShortCut = Low(Word) .. High(Word);
TNotifyEvent = procedure (Sender: TObject) of object;

Модуль: Menus

Описание
Функция, во время выполнения программы, создает пункт меню и инициализирует его.
Текст пункта меню передается в параметре ACaption.
Параметр AShortCut определяет комбинацию "горячих" клавиш для быстрого вызова пункта меню. Значение для данного параметра можно получить с помощью функций ShortCut и TextToShortCut.
Параметр AChecked указывает, появится ли пункт меню с галочкой или же без нее.
Параметр AEnabled определяет, будет доступен или заблокирован пункт меню.
Параметр AOnClick определяет обработчик события OnClick (событие OnClick происходит при выборе пользователем пункта меню).
Параметр hCtx - идентификатор контекста справки.
Параметр AName - имя пункта меню, которое будет использоваться в коде программы.
Созданный пункт меню может быть добавлен к массиву элементов меню. Результат функции может быть использован в качестве параметров функции NewMenu для создания меню, функции NewPopupMenu для создания всплывающего меню, или функции NewSubMenu для создания подменю.
По завершению использования пункта меню, созданного динамически с помощью функции NewItem, необходимо высвободить память, выделенную при вызове функции NewItem. Методы Delete и Remove объекта в данном случае не будут приводить к высвобождению памяти.


Пример
var

Items: array[0..2] of TMenuItem;
Item: TMenuItem;
Key: TShortCut;

begin

Key:=ShortCut(Word('X'),[ssShift]);

Items[0]:= NewItem('Пункт1', Key, false, true, N1click, 0, 'MenuItem1');

Items[1]:= NewLine;

Items[2]:= NewItem('Пункт2', 0, false, true, N2click, 0, 'MenuItem2');

Item:= NewSubMenu('&Меню1', 0, 'Submenu1', Items, true,);
NewMenu(Form1, 'Menu1', Item);

end;


[Вернуться к содержанию]

 


Рейтинг@Mail.ru