Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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. Но его можно обработать.
Так что ничего кривого там нет:))




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.051 c
7-94598           _Alex_                2002-01-27 21:50  2002.04.29  
как прочесть данные из ярлыка


7-94587           XM-AD                 2002-01-30 02:29  2002.04.29  
А можно ли???


14-94566          Tosov                 2002-03-23 18:31  2002.04.29  
Помогите ссылками


1-94519           stormick              2002-04-16 23:34  2002.04.29  
Listbox....


1-94367           Bodia                 2002-04-15 12:18  2002.04.29  
Какой компонент самый лутший для роботы с FTP?