C++ Builder 6 Различные всплывающие меню в пунктах и ​​подпунктах TreeView и без всплывающих окон в пустой области

Я хочу иметь другое всплывающее меню для элементов и подэлементов, и НЕТ всплывающего меню в пустой области TTreeView это возможно?

Я хочу что-то вроде фотографии ниже

1 ответ

Решение

Есть два способа сделать это.

  1. Создать 2 отдельных TPopupMenu объекты с нужными пунктами меню, не назначайте ни один из них TreeView PopupMenu свойство, а затем использовать TreeView OnContextMenu событие для вызова Popup() метод в зависимости от того, что TPopupMenu вам нужно в зависимости от того, на каком узле нажимает пользователь.

  2. Создать 1 TPopupMenu объект и поместить оба пункта меню в него, и назначить его на TreeView PopupMenu свойство, затем используйте TPopupMenu.OnPopup событие, чтобы показать / скрыть пункты меню, в зависимости от того, на каком узле щелкает пользователь.

В любом случае вы можете использовать TTreeView.GetNodeAt() метод, чтобы определить, какой узел расположен в координатах щелчка мыши, если таковые имеются.

Другие вопросы по тегам