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

Деактивация заданного по умолчанию контекстного меню

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

Деактивация заданного по умолчанию контекстного меню (на TWinControl).

Когда мы щелкаем на компоненте поля ввода или любого другого компонента, который позволяет редактировать (например, MaskEdit, Memo, DBEdit и др.), выскакивает по умолчанию контекстное меню с опциями отмены, вставки и т.д.
Мы можем поместить свой компонент 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) ;

 

Комментарии   

 
+1 #1 work from home 09.04.2017 14:32
I love what you guys are usually up too. This kind of clever work and reporting!
Keep up the amazing works guys I've incorporated you guys to my personal
blogroll.
Цитировать
 

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


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