Delphi FAQ - Как назначить процедуру собственному пункту системного меню?

ОГЛАВЛЕНИЕ


Как назначить процедуру собственному пункту системного меню?

const
  cm_mycommand = $00A0;

procedure TForm1.FormCreate(Sender: TObject);
  var HSysMenu: HMENU;
begin
  HSysMenu:=GetSystemMenu(Handle,FALSE);
  InsertMenu( HSysMenu, 0, MF_BYPOSITION or MF_STRING,
              cm_mycommand, 'MyString');
end;

procedure TForm1.WMSysCommand (var Message:
  TWMSysCommand); // message WM_SYSCOMMAND;
begin
  case Message.CmdType of
    cm_mycommand: ShowMessage('My Command');
  else
    inherited;
  end;
end;

Leonid Troyanovsky <Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.>