Системное меню приложения
Автор: Davyd
WEB-сайт: http://delphibase.endimus.com
{ **** 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;
|