Отключение контекстного меню для компонентов 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);
Комментарии