Форум: "Основная";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
ВнизПроблема с TreeView Найти похожие ветки
← →
Voldemar (2002-04-14 23:11) [0]Доброго времени суток!
Объясните мне, плз, такую вещь:
На TreeView у меня повешено PopUpMenu и включено свойство RightClickSelect. В этом меню есть пункт "Добавить" и по этому пункту происходит, естественно, добавление элемента. Но!.. элемент добавляется к узлу, который был выделен до этого, а никак не к тому, на котором я RightClick. Как это победить? И еще вопросец заодно - как при AddChild сделать так, чтобы после создания элемент сразу был Selected?
← →
Song (2002-04-14 23:21) [1]Попробуйте сначала выделить нужный узел, и на нём нажать правую кнопку. Что касается второй части вопроса есть метод Select(), например Select(AddChild(...))
← →
Voldemar (2002-04-14 23:26) [2]>>Song © (14.04.02 23:21)
Это-то понятно, если выделить - все работает правильно... А вот как бы от этого уйти?
За второй совет TNX!
← →
Song (2002-04-15 08:12) [3]2Voldemar © (14.04.02 23:26)
Никак. Это особенность TPopupMenu в данном случае.
← →
SB.John (2002-04-15 09:46) [4]Придется пользоваться функцией GetNodeAt.
В событии OnPopup твоего всплывающего меню или при нажатии правой кнопки мыши на TreeView пропиши код типа:
TreeView1.Selected = TreeView1.GetNodeAt(Mouse.CursorPos.X,Mouse.CursorPos.Y)
Тут могут быть проблемы, так как Mouse.CursorPos показывает координаты относительно левого верхнего угла экрана, а тебе нужно относительно левого верхнего угла твоего дерева. Так что, возможно придется переводить координаты.
← →
Song (2002-04-15 09:53) [5]Тут могут быть проблемы, так как Mouse.CursorPos показывает координаты относительно левого верхнего угла экрана, а тебе нужно относительно левого верхнего угла твоего дерева. Так что, возможно придется переводить координаты.
ScreenToClient()
Корявый немного способ, но похоже лучше ничего нет :(
← →
Voldemar (2002-04-16 02:13) [6]Огромный TNX! Все получилось великолепно! Единственное что, когда происходит нажатие в свободной области, где нет элементов, возникает AccessViolation. Но его можно обработать.
Так что ничего кривого там нет:))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c