Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.83 MB
Время: 0.022 c
1-94452
Михаил
2002-04-15 12:07
2002.04.29
Создание компонента во время работы программы


3-94262
Rustik
2002-04-07 11:45
2002.04.29
Можно ли при формирования репорта заменить Table на Query


1-94383
Григорий
2002-04-17 14:15
2002.04.29
Как закрыть Excel из Delphi 3


14-94575
Mystic
2002-03-21 16:14
2002.04.29
Было плохое настроение, попробовал поострить...


6-94522
Termik
2002-02-15 10:10
2002.04.29
Получение IP-адреса через имя машины.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский