Статьи
|
Этот пример демонстрирует использование функции 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.
|