C++ Builder 6 Различные всплывающие меню в пунктах и подпунктах TreeView и без всплывающих окон в пустой области
Я хочу иметь другое всплывающее меню для элементов и подэлементов, и НЕТ всплывающего меню в пустой области TTreeView это возможно?
Я хочу что-то вроде фотографии ниже
1 ответ
Есть два способа сделать это.
Создать 2 отдельных
TPopupMenu
объекты с нужными пунктами меню, не назначайте ни один из них TreeViewPopupMenu
свойство, а затем использовать TreeViewOnContextMenu
событие для вызоваPopup()
метод в зависимости от того, чтоTPopupMenu
вам нужно в зависимости от того, на каком узле нажимает пользователь.Создать 1
TPopupMenu
объект и поместить оба пункта меню в него, и назначить его на TreeViewPopupMenu
свойство, затем используйтеTPopupMenu.OnPopup
событие, чтобы показать / скрыть пункты меню, в зависимости от того, на каком узле щелкает пользователь.
В любом случае вы можете использовать TTreeView.GetNodeAt()
метод, чтобы определить, какой узел расположен в координатах щелчка мыши, если таковые имеются.