Карта сайтаСсылкиКонтакты

Добавление пункта в системное меню Вашего приложения

PDF Печать
Статьи

Этот пример демонстрирует использование функции AppendMenu() Windows API, чтобы добавить в конец системного меню новый пункт. Мы определим новую системную константу SC_MyMenuItem, которая будет использоваться для идентификации нашего нового пункта меню в системе. После добавления пункта меню, будем ловить сообщение WM_SYSCOMMAND, чтобы проверить, выбран ли наш пункт меню.

Добавляем свой пункт в системное меню

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure WMSysCommand(var Msg: TWMSysCommand);
       message WM_SYSCOMMAND;
  public
    { Public declarations }
  end;

const
  SC_MyMenuItem = WM_USER + 1;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  AppendMenu(GetSystemMenu(Handle, FALSE), MF_SEPARATOR, 0, '');
  AppendMenu(GetSystemMenu(Handle, FALSE),
              MF_STRING,
              SC_MyMenuItem,
              'Новый пункт меню');
end;

procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
  if Msg.CmdType = SC_MyMenuItem then
    ShowMessage('Выполняем действие') else
  inherited;
end;

end.

 

Добавить комментарий


Защитный код
Обновить