Добавление своих пунктов меню в системное меню окна
|
{Добавление своих пунктов меню в системное меню окна} {поместите const My_MenuItem=$4000; (*константу можете по своему обозвать и дать ей другой номер, но есть какие-то номера, которые зарезервированы для виндузом для своих пунктов меню - не попадите на них*) перед var Form1: TForm1; ОБЯЗАТЕЛЬНО ПОМЕСТИТЕ В СЕКЦИЮ PRIVATE СТРОКУ procedure HookSysCommand(var message : TwmSysCommand);message wm_SysCommand; }
procedure TForm1.HookSysCommand(var message : TwmSysCommand); begin inherited; case message.CmdType of My_MenuItem : ShowMessage('Пункт активизирован'); end; end;
procedure TForm1.FormCreate(Sender: TObject); var SysMenu : THandle; begin SysMenu := GetSystemMenu(Handle, False); AppendMenu(SysMenu, mf_SEPARATOR, 0, #0); AppendMenu(SysMenu, mf_BYPOSITION, My_MenuItem, 'Новый пункт'); {appendmenu добавляет новый пункт в конец, а для вставки своего пункта в другую порядковую позицию воспользуйтесь insertmenu пример : InsertMenu(SMenu, 1, mf_BYPOSITION, My_MenuItem, 'Новый пункт');} end; |