Добавить пункт в системное меню, написать обработчик
его выбора и перехватить сообщение о выборе пункта из
системного меню.
Примечание: Константа WM_USER используется в приложении
для определения собственных сообщений.
Значения от 0 до (WM_USER-1) зарезервированы для системных сообщений.
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure OnMyMenu;
private
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
const
SC_MyMenuItem = WM_USER + 1;
procedure TForm1.FormCreate(Sender: TObject);
begin
// добавление своего пункта в системное меню приложения
AppendMenu(GetSystemMenu(Handle, FALSE), MF_SEPARATOR, 0, '');
AppendMenu(GetSystemMenu(Handle, FALSE), MF_STRING,
SC_MyMenuItem, 'Новый пункт в меню');
end;
procedure TForm1.OnMyMenu;
Begin
// Обработка нажатия на новый пункт меню
End;
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
// перехват события выбора нового пункта меню
if Msg.CmdType = SC_MyMenuItem then
OnMyMenu else
inherited;
end;
Источник: www.delphikingdom.ru
|