Jump to content

How to add global context menu to the application?


Tokay

Recommended Posts

Добавь код отключения системного меню только для пользователей, например, а для админов/разработчиков дай возможность в настройках переключать вкл/откл, т.е. для возможности отладки.

Или так.

Поищи на форуме по слову: preventDefault.

Вот так я у DBGrid скрываю системное меню браузера

function cellcontextmenu(sender, td, cellIndex, record, tr, rowIndex, e, eOpts)
{
    e.preventDefault();// скрыть меню браузера
}

чтобы показать свое TUniPopupMenu:

procedure TfmMain.dbgTodayCellContextClick(Column: TUniDBGridColumn; X, Y: Integer);
begin
  popupTodey.Popup(x, y, dbgToday);
end;

 

 

Screenshot_6.jpg

Screenshot_7.jpg

Link to comment
Share on other sites

Проблема не в показать/не показать. Показывать нужно всем и всегда. Но! Не то меню, которое в браузере, а своё. У нас сотни и тысячи компонент по формам, и проставить руками везде какое-то контекстное меню и поддерживать постоянно непросто и грозит багами. Хочется как-то глобально заменить браузерное меню на своё.

Link to comment
Share on other sites

Ну так меняй. Отключи системное браузерное и подключи одно единое из набора юнигуи.

А что нельзя в главном модуле кинуть меню из набора юнигуи и везде использовать его? Ведь главный модуль всегда доступен.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...