Деактивация заданного по умолчанию контекстного меню
Мы можем поместить свой компонент TPopupMenu и назначить это меню на свойство компонентов, чье меню мы хотим отключить.
Есть процедура, которая использует RTTI и отключает всплывающее меню на управлении.
Uses TypInfo;
procedure DisablePopUp(AControl: TWinControl) ;
var
j : integer;
pm : TPopupMenu;
begin
pm := TPopupMenu.Create(AControl) ;
for j := 0 to AControl.ControlCount-1 do
if IsPublishedProp(AControl.Controls[j], 'PopupMenu') then
SetObjectProp(AControl.Controls[j], 'PopupMenu', pm) ;
end;
Использование:
DisablePopUp(Form1) ;
или
DisablePopUp(Panel1) ;
Комментарии