КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Дополнительные компоненты
Меню Всего существует 2 типа меню – главное меню – то, что располагается непосредственно под заголовком окна программы, и контекстное меню, привязанное к тому или иному элементу управления. И если главное меню предназначено для управления работой всего приложения, то каждое контекстное меню служит для управления каким-либо конкретным элементом интерфейса. Для создания главного меню в VCL предусмотрен компонент MainMenu, а для контекстного – PopupMenu. Оба они происходят от класса TMenu, и имеют некоторые общие свойства. В частности, свойство AutoHotkeys определяет, должны ли автоматически назначаться символы для быстрой навигации по меню (вы видите их подчеркнутыми при нажатой клавише Alt). Так же у них присутствуют свойства Images, позволяющие привязать к меню коллекцию изображений, и Items, являющиеся хранилищем самих пунктов меню. Что касается индивидуальных свойств этих компонентов, то здесь для нас наибольший интерес представляют настройки контекстного меню. Так, свойство Alignment определяет, в какой позиции относительно указателя мышки должно появиться меню. Допускается выравнивание его левого верхнего угла по левому краю (paLeft, принято по умолчанию), по правому (paRight) и по центру (paCenter). Другое свойство, AutoPopup, Отвечает за появление контекстного меню на экране. Если оно установлено в истину, то меню будет появляться автоматически при щелчке правой клавишей мышки по компоненту, к которому это меню привязано. Если же установить значение этого свойство в ложь, то процесс появления меню должен будет контролироваться программно. Отметим, что для показа контекстного меню таким способом следует использовать метод Popup. Например, чтобы привязать всплытие меню к любому щелчку мышки по форме, можно написать примерно такой обработчик события для onClick: procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin PopupMenu1.Popup(X, Y); end; Единственным спорным моментом в данном случае будет место появления меню. Дело в том, что аргументами X и Y, передаваемыми обработчику события onClick формы будут локальные координаты, отсчитываемые от верхнего левого угла ее окна. В то же время для метода Popup необходимы координаты относительно всего экрана (т.е. как для объекта Screen). Выходом из данной ситуации будет использование информации о координатах самой формы, которые так же привязаны к глобальной системе координат: PopupMenu1.Popup(Form1.Left+X,Form1.Top+Y);
Для создания меню в Delphi предусмотрен специальный редактор, позволяющий наглядно создавать и редактировать как главное меню, так и контекстные. Для того, чтобы им воспользоваться, достаточно поместить нужный компонент (MainMenu или PopupMenu) на форму, после чего воспользоваться его собственным контекстным меню. Первым пунктом будет Menu Designer, и как раз он и вызывает нужный редактор, называемый конструктором меню. При помощи этого конструктора можно создавать меню, причем его внешний вид будет практически соответствовать тому, что получится на самом деле. Если в процессе работы щелкнуть правой кнопкой мышки по созданному пункту меню, то откроется контекстное меню самого редактора, при помощи которого этот пункт можно удалить (delete), либо добавить (Insert) вслед за ним новый, или же сделать данный пункт родительским для собственного подменю (Create Submenu). При этом свойства выбранного в данный момент пункта меню, видны и доступны для правки в инспекторе объекта. Для того чтобы связать элемент меню с выполняемой им функцией, используется обработчик события onClick. Фактически, это единственное событие, которое заслуживает внимание.
Дата добавления: 2014-01-20; Просмотров: 506; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |