Программный код для простого приложения с меню, использующего компонент TMainMenu из Delphi. Для отображения подсказок для пунктов меню используется событие Application.OnHint.
Вот как это работает:
В процедуре FormCreate панель Panel1 выравнивается в нижнюю часть формы.
Свойство Hint для каждого пункта меню (MenuItemFile, MenuItemOpen и MenuItemClose) устанавливается на строку, которая будет отображаться как подсказка при наведении мыши на пункт меню.
Когда какой-либо из пунктов меню кликнут, соответствующий обработчик события OnClick (например, MenuItemOpenClick или MenuItemCloseClick) будет вызван.
В процедуре HintHandler свойство Caption панели Panel1 устанавливается на текст подсказки из Application.Hint, что эффективно отображает подсказку на статусной панели.
Для отображения подсказок для элементов меню без использования события Application.OnHint можно использовать компонент TPopupMenu и обработчик события OnPopup. Вот пример:
typeTForm1=class(TForm)Panel1:TPanel;MainMenu1:TMainMenu;MenuItemFile:TMenuItem;MenuItemOpen:TMenuItem;MenuItemClose:TMenuItem;OpenDialog1:TOpenDialog;procedureFormCreate(Sender:TObject);procedureMenuItemCloseClick(Sender:TObject);procedureMenuItemOpenClick(Sender:TObject);private{ Private declarations }publicend;varForm1:TForm1;implementationusesSystem.SysUtils,System.Variants,System.Classes;{$R *.dfm}procedureTForm1.FormCreate(Sender:TObject);beginPanel1.Align:=alBottom;MenuItemFile.Hint:='File Menu';MenuItemOpen.Hint:='Opens A File';MenuItemClose.Hint:='Closes the Application';end;procedureTForm1.MenuItemCloseClick(Sender:TObject);beginApplication.Terminate;end;procedureTForm1.MenuItemOpenClick(Sender:TObject);beginifOpenDialog1.ExecutethenForm1.Caption:=OpenDialog1.FileName;end;procedureTForm1.PopupMenuCloseUp(Sender:TObject);varPopupMenu:TPopupMenu;beginPopupMenu:=SenderasTPopupMenu;ifPopupMenu.PopUpthenPanel1.Caption:=PopupMenu.HintText;end;
В этом примере обработчик события OnPopup компонента TPopupMenu обрабатывается в отдельной процедуре (PopupMenuCloseUp). Эта процедура проверяет, закрыт ли popup-меню, и устанавливает свойство Caption панели Panel1 на текст подсказки из popup-меню.
Статья описывает, как создавать и отображать подсказки (hints) для элементов меню в приложении Delphi с помощью обработчика события Application.Hint.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.