Карта сайтаСсылкиКонтакты

Отключение контекстного меню для компонентов TWinControl

PDF Печать
Статьи

Когда Вы щелкаете правой кнопкой мыши на компоненте Edit (или любом другом компоненте, который позволяет редактирование, типа MaskEdit, Memo, DBEdit и т.д.), появляется контекстное меню с системными опциями копирования, вставки, и т.д.

Если Вы не хотите, чтобы появлялось контекстное меню при нажатии правой кнопкой мыши по такому управлению, можно просто поместить компонент 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);


 

Добавить комментарий


Защитный код
Обновить