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

Delphi

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

const
  MyEvent = WM_USER + 19;

procedure TTestAreaMain.Button1Click(Sender: TObject);
begin
  // Перенаправим обрабочик событий Application к нам,
  //  чтобы реагировать на нажатие пункта меню.
  Application.OnMessage := MyMessageHandler;

  // Добавим разделитель
  AppendMenu(GetSystemMenu(Handle, False),
             MF_SEPARATOR, 0, '');

  // Добавляем свой пункт меню, с событием MyEvent;
  AppendMenu(GetSystemMenu(Handle, False),
             MF_BYPOSITION, MyEvent, 'Турлюмк');
end;

procedure TTestAreaMain.MyMessageHandler(var Msg: TMsg; var Handled: Boolean);
begin
 if (Msg.Message = WM_SYSCOMMAND) and // Если это сообщение от системного меню
     (Msg.wParam = MyEvent) then      //  и это наш пункт, 
  begin                               //  то турлюмк. 
    MessageBeep(MB_OK);
    Handled := True;
  end;
end;

 

Метки:

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.
  • Вы можете цитировать другие сообщения, используя тэг [quote]

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.