|
|
Определяет пункт главного или всплывающего меню.
Создание объекта
mnuItmObj=new TMenuItem(MenuObj);
mnuItmObj=MenuObj.Add(Caption);
Собственные свойства
|
Свойство
| Тип
| Описание
|
AutoCheck
| Boolean
| связать свойство Checked с выбором пункта меню
|
AutoHotkeys
| Enum
| способ слежения за уникальностью клавиш быстрого доступа (см. ниже)
|
AutoLineReduction
| Enum
| способ удаления лишних разделителей между пунктами меню (см. ниже)
|
Bitmap
| TBitmap
| дескриптор изображения, связанного с пунктом меню (игнорируется при установке свойства ImageIndex)
|
Break
| Enum
| вариант переноса пунктов меню, начиная с текущего (см. ниже)
|
Caption
| String
| текст пункта меню
|
Checked
| Boolean
| пункт меню отмечен
|
Default
| Boolean
| пункт меню является элементом по умолчанию
|
Enabled
| Boolean
| пункт меню разрешен для выбора (по умолчанию)
|
GroupIndex
| Number
| идентификатор группы пунктов
|
HelpContext
| Number
| идентификатор контекста помощи пункта меню
|
ImageIndex
| Number
| индекс изображения, связанного с пунктом меню, в списке Images корневого компонента
|
MenuIndex
| Number
| индекс пункта меню в списке Items родительского пункта (меню)
|
RadioItem
| Boolean
| пункт меню является переключателем, при этом все пункты меню, имеющие одинаковое значение свойства GroupIndex, объединяются в группу связанных переключателей
|
ShortCut
| Number
| дополнительная комбинация клавиш быстрого доступа для пункта меню, получаемая с помощью системной функции Shortcut
|
SubMenuImages
| TImageList
| список изображений для дочерних пунктов меню
|
Только чтение
| [TYPE]
| [DESC]
|
Command
| Number
| уникальный идентификатор пункта меню
|
Count
| Number
| количество дочерних пунктов меню
|
Handle
| Number
| дескриптор меню Windows GDI (при наличии дочерних пунктов)
|
Items[]
| TMenuItem
| индексированный список дочерних пунктов
|
Parent
| TMenuItem
| родительский пункт меню
|
|
Свойство AutoHotkeys
|
Значение
| Описание
|
maAutomatic
| автоматическое слежение, не требующее какого-либо участия
|
maManual
| программное слежение собственными силами
|
maParent
| способ, установленный родительским пунктом
|
|
Свойство AutoLineReduction
|
Значение
| Описание
|
maAutomatic
| автоматическое удаление, не требующее какого-либо участия
|
maManual
| программное удаление собственными силами
|
maParent
| способ, установленный родительским пунктом
|
|
Свойство Break
|
Значение
| Описание
|
mbNone
| без переноса (по умолчанию)
|
mbBreak
| перенос в следующий столбец
|
mbBarBreak
| перенос в следующий столбец через вертикальный разделитель
|
|
Собственные методы
|
Метод
| Описание
|
| очищает список дочерних пунктов меню
|
| имитирует щелчок мыши на пункте меню
|
| удаляет дочерний пункт меню с указанным индексом
|
| ищет дочерний пункт меню с указанным заголовком
|
| возвращает список, содержащий изображение, связанное с пунктом меню
|
| сообщает, имеет ли пункт родительское меню
|
| возвращает индекс указанного дочернего пункта меню в списке Items
|
| вставляет дочерний пункт меню в указанную позицию списка Items
|
| вставляет разделитель после указанного дочернего пункта меню
|
| вставляет разделитель перед указанным дочерним пунктом меню
|
| сообщает, является ли пункт меню разделителем
|
| вставляет разделитель в конец списка дочерних пунктов меню
|
| вставляет разделитель в начало списка дочерних пунктов меню
|
| удаляет указанный дочерний пункт меню
|
| при необходимости перестраивает клавиши быстрого доступа дочерних пунктов меню
|
| при необходимости удаляет лишние разделители в списке дочерних пунктов меню
|
|
Стандартные методы
Собственные события
|
Событие
| Описание
|
| произошел клик мышью по пункту меню
|
| требуется отрисовка пункта меню в различных состояниях
|
| требуется отрисовка пункта меню
|
| требуется указать размеры пункта меню
|
|
// Главная форма frm=new TForm(); frm.Caption="JS+ - визуальный компонент TMenuItem"; frm.Width =525; frm.Height=375;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=" Выбирайте пункты меню";
// Главное меню формы mnm=new TMainMenu(frm);
// Список изображений iml=mnm.Images=new TImageList(mnm);
// Пункты главного меню icn=new TIcon(); for (i=1;i<=5;i++) { mi1=new TMenuItem(mnm); mi1.Caption="Раздел "+i; mi1.OnClick=mni_Click;
icn.LoadFromFile(JSPlus.HelpDir+"IMAGE\\TMainMenu\\"+(i-1)+".ico"); iml.AddIcon(icn);
for (j=1;j<=i;j++) { mi2=new TMenuItem(mi1); mi2.Caption="Элемент "+i+"-"+j; mi2.ImageIndex=j-1; mi2.OnClick=mni_Click; } } icn.Delete();
frm.ShowModal();
// Обработчик события OnClick function mni_Click(mni) { var mni_Str=mni.Caption.replace("&","");
stb.SimpleText=" Выбран "+mni_Str; if (mni_Str.indexOf("-")>0) alert(stb.SimpleText); }
|
var stb_Text=" Кликните правой кнопкой мыши в области формы";
// Главная форма frm=new TForm(); frm.Caption="JS+ - визуальный компонент TMenuItem"; frm.Width =450; frm.Height=300;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=stb_Text;
// Всплывающее меню pum=frm.PopupMenu=new TPopupMenu(frm); pum.Images=new TImageList(pum); pum.OnPopup=pum_Popup;
for (i=0;i<5;i++) { mni=new TMenuItem(pum); mni.Caption="Пункт "+(i+1); mni.ImageIndex=i; mni.OnClick=mni_Click;
// Иконка icn=new TIcon(); icn.LoadFromFile(JSPlus.HelpDir+"IMAGE\\TPopupMenu\\"+i+".ico"); pum.Images.AddIcon(icn); icn.Delete(); }
frm.ShowModal();
// Обработчик события OnClick function mni_Click(mni) { alert(" Выбран "+mni.Caption); stb.SimpleText=stb_Text; }
// Обработчик события OnPopup function pum_Popup(pum) { var x=pum.PopupPoint.x,y=pum.PopupPoint.y;
stb.SimpleText=" Всплытие меню в точке: "+x+","+y; }
|
Примечание
Если значение свойства Caption содержит амперсанд (&), то следующий за ним символ является акселератором, т.е. соответствующий пункт меню выполняется при нажатии комбинации
клавиш Alt+символ. Если значение свойства Caption состоит из одного символа тире (-), то соответствующий пункт служит горизонтальным разделителем между предыдущим и
последующим пунктами меню.
Совместимость
C++ Builder/Delphi
|
JS+ | Руководство пользователя
|
|
|
|
|
|