Главная страницаОбратная связьКарта сайта

Системное меню приложения

Автор: 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;

Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Системное меню приложения", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info