Onselect в Ttreeview

Тема в разделе "Delphi - FAQ", создана пользователем Jeefo, 23 май 2008.

  1. Jeefo

    Jeefo Гость

    мне нужно, чтобы при выделении какого либо Node в TTreeView выполнялся определенный код. но обработчика OnSelect в TTreeView нет. что подскажете?
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    дописать свой
     
  3. etc

    etc Гость

    Брать лопату и мести улицы.
    там все уже есть.
     
  4. Jeefo

    Jeefo Гость

    к сожалению в упор не вижу OnSelect в списке events

    можно подробней? гугл ничего путного не нашел(
     
  5. etc

    etc Гость

    Его и нет, есть другие которые делают это самое. Так что в армию, потом мести улицы.
     
  6. Jeefo

    Jeefo Гость

    какие?

    такая перспектива не устраивает, поэтому пытаюсь изучить дельфи. да, пока самостоятельно. да, пока новичек, и мало что в этом понимаю. но желание есть, и не вижу ничего плохого в том, что пытаюсь спросить у людей знающих
     
  7. etc

    etc Гость

    Так пытаетесь, что аж на F1 нажать не в состоянии и в справке прочитать и пример посмотреть?
     
  8. Jeefo

    Jeefo Гость

    я нашел в справке OnItemClick - событие TCustomTreeView, то что мне нужно. но как воспользоваться этим событием в TTreeView? примеров по этому поводу в справке не нашел, ни в описании самого события, ни в описании TCustomTreeView.
     
  9. etc

    etc Гость

    и что там пишут?
     
  10. Jeefo

    Jeefo Гость

    пишут что это базовый класс. а еще что большинство свойств в нем protected, и я могу использовать их в своих TTreeView. а вот как не знаю... примера там нет
     
  11. etc

    etc Гость

    По поводу эвентов что пишут?
     
  12. Jeefo

    Jeefo Гость

    в описании TCustomTreeView ничего. в описании конкретно OnItemClick пишут, что он возникает, когда по node кликнули мышкой. и что онклик можно также инициировать с клавы или эвентов меню, которые эквивалентны кликам мыши. чет не разберусь куда здесь копать, единственное что приходит в голову: Ttreeview - потомок Tcustomtreeview и его эвенты можно как то использовать в TTreeView. но как - хз, и вообще я правильно мыслю?
     
  13. etc

    etc Гость

    Плохо читали еще читайте, и про все эвенты.
     
  14. Jeefo

    Jeefo Гость

    уфф :lol: не знаю, плохо - не плохо ищу, но я уже на протяжении трех дней пытаюсь с этим разобраться. ищу и в справке дельфи, и в инете - однако найти ответа не могу. может вы все же намекнете поконкретней?
     
  15. etc

    etc Гость

    Ну что тут намекать? все просто, открываете список всех эвентов TTreeView и читаете/вникаете когда каждый возбуждается, - соответствующий применяете.
    Это даже те что лопатами метут в состоянии сделать.

    Не можете сами - вкатывайте сюда описание по каждому, потом вместе разберем что на что годно.
     
  16. Jeefo

    Jeefo Гость

    в итоге воспользовался методом OnChange, а чтобы он не реагировал на программное изменение дерева (то есть отвечал только на выделение пользователем), присваиваю nil полю OnChange на время выполнения такой функции.
    только так и не понял, зачем тогда нужен эвент OnItemClick и как им воспользоваться? и как мне воспользоваться эвентом OnItemDblClick если понадобится реагирование на двойной клик? ведь ни того ни другого в инспекторе объектов нет...
    в любом случае спасибо etc за терпение
     
  17. etc

    etc Гость

    Ну вот, а вы говорили что ничего нет, и "глушить" пользовательский обработчик :)=nil) это нормально.
    "Каждому овощу свое время и место".
     
  18. zubr

    zubr Гость

    Jeefo, в TTreeView есть событие OnGetSelectedIndex. Возникает при любом изменении выбора (к примеру, перемещением по дереву с помощью клавиатуры) в TTreeView (недостаток, что возникает и при перерисовке компонента).
     
  19. Jeefo

    Jeefo Гость

    на OnChange обращал внимание еще до того как сюда обратился, но останавливало именно то, что он возникает и при программном изменении выделения (про nil догадался только вчера).

    zubr
    спасибо. вроде мне все равно какой из этих двух использовать, и тот и другой "глушить" придется
     
  20. etc

    etc Гость

    Надо же понимать что тут простые люди, и телепатией обладают даааааааааааалеко не все. Откуда нам знать кто чего [не]догадывается?
    Учитесь правильно задавать вопросы, тогда ответы не заставят себя ждать.
     
Загрузка...
Похожие Темы - Onselect Ttreeview
  1. AnthonySoprano
    Ответов:
    2
    Просмотров:
    3.525
  2. vital
    Ответов:
    2
    Просмотров:
    3.781

Поделиться этой страницей