Отключение контекстного меню для компонентов TWinControl
Если Вы не хотите, чтобы появлялось контекстное меню при нажатии правой кнопкой мыши по такому управлению, можно просто поместить компонент TPopupMenu на форму и назначить его свойству PopupMenu компонентов, чье контекстное меню Вы хотите отключить.
Но есть процедура, которая отключает всплывающее контекстное меню для всех управлений в контейнере.
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);
Комментарии