Электронное контекстное меню на перетаскиваемой области

1

Контекстное меню На некоторых платформах область перетаскивания будет обрабатываться как неклиентский фрейм, поэтому, когда вы щелкните по нему правой кнопкой мыши, появится системное меню. Чтобы обеспечить правильное отображение контекстного меню на всех платформах, вы никогда не должны использовать настраиваемое контекстное меню для перетаскиваемых областей.

Взято из https://github.com/electron/electron/blob/master/docs/api/frameless-window.md

Есть ли способ обойти это. Мне нужно, чтобы изображение было перетаскиваемым и способным обрабатывать события щелчка и щелчка правой кнопкой мыши. (Так же, как Facebook-мессенджер на мобильных устройствах).

Он устанавливает элемент как dragable (-webkit-app-region: drag;), и использование события контекстного меню работает так, как ожидалось, в mac, но при использовании сборки на окнах это не работает.

Теги:
electron

1 ответ

2
Лучший ответ

-webkit-app-region: drag; иметь -webkit-app-region: drag; и контекстное меню в Windows. Это потому, что Windows отображает собственное контекстное меню для этих элементов пользовательского интерфейса.

Изображение 174551

Другим вариантом является электронное сопротивление, которое может имитировать webkit-app-region.

  • 0
    Я пробовал молоток JS. Я добавил обработчик событий панорамирования и переместил окно. Проблема в том, что окно прыгает повсюду. Я следовал этому примеру codepen.io/bladnman/pen/LEWYYN и использовал BrowserWindow.setPosition(ev.deltaX, ev.deltaY, true)
  • 0
    Извините, я должен был опубликовать это как комментарий, а не как ответ, поэтому я удалил его. Чувство, вероятно, вызвано тем, что окна перемещаются под мышью, что вызывает больше событий молотка в противоположном направлении или что-то в этом роде. Возможно, будет проще использовать этот ранее существующий модуль: npmjs.com/package/electron-drag
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню