![]() |
![]() ![]() ![]() ![]() |
|
Системное меню приложенияDelphi , Компоненты и Классы , Меню
Автор: Davyd
{ **** UBPFD *********** by delphibase.endimus.com ****
>>
Если в HNDL указать Application.Handle, то меню добавиться к меню
при клике правой кнопокой мыши на панели задач.
Если Form1.Handle (или любая ваша форма и даже не ваша),
то к системному меню окна клик на иконке окна (слева сверху в углу).
Зависимости: SysUtils, Menus
Автор: Davyd, davyd@pisem.net, ICQ:163118406, Самара
Copyright: Собственное написание (Давид)
Дата: 4 апреля 2003 г.
***************************************************** }
procedure ExtendSysMenu(HNDL: THandle; AddMenu: TMainMenu);
var
i: integer;
begin
if (AddMenu = nil) or (HNDL = 0) then
Exit; //Проверяем ссылку на объект
AppendMenu(GetSystemMenu(HNDL, False),
MF_SEPARATOR, 0, ''); //Добавляем разделитель
with AddMenu do
for i := 0 to Items.Count - 1 do
AppendMenu(GetSystemMenu(HNDL, False),
MF_POPUP, Items[i].Handle,
PChar(Items[i].Caption));
end;
Пример использования: //На форму кидаем MainMenu (компоненту) procedure TForm1.FormCreate(Sender: TObject); begin ExtendSysMenu(Application.Handle, MainMenu1); ExtendSysMenu(Form1.Handle, MainMenu1); end; Система меню расширения Процедура Процедура сначала проверяет, является ли параметр Затем она добавляет разделитель в системное меню с помощью функции Далее она проходит по каждому элементу компонента Пример использования Пример использования демонстрирует, как использовать процедуру
Замечания
В целом, этот код предоставляет полезный способ настройки системного меню приложения или формы добавлением пользовательских пунктов меню. В статье описывается процедура для добавления пользовательского меню в системное меню приложения Delphi, а также приведен пример ее использования на форме. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||