![]() |
|
|
![]()
|
|
| DominiK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 11.3.2007 Где: Россия, Омск Репутация: нет Всего: нет |
Сабж. Нужно получить HTREEITEM текущего элемента дерева, не нового, на который переключаемся, а текущего.
GetSelectedItem(); возвращает 0. В Selchanged он работает нормально. вот пример того что имею ввиду:
Использовал GetSelectedItem() т.к работал до этого с CTabCtrl и там была аналогичная ситуация, я использовал GetCurSel, и от индекса уже отталкивался. Это сообщение отредактировал(а) DominiK - 27.12.2008, 19:34 |
|||
|
||||
| DominiK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 11.3.2007 Где: Россия, Омск Репутация: нет Всего: нет |
Короче пока гуру не отписался, кто сталкивался с подобной проблемой - временное решение это создания объекта класса HTREEITEM, и обновление его при каждом OnSelected.
Пысы. Тема актуальна Это сообщение отредактировал(а) DominiK - 28.12.2008, 12:02 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Я не совсем тебя поняла. Всегда использовала GetSelectedItem без каких-либо проблем. Другое дело, что выделенный элемент есть не всегда - в отличие от таб-контрола, где какая-то закладка всегда активна...
А в дереве по-умолчанию нет выделенного элемента - пока ты его не назначишь програмно или тыканием. Добавлено через 1 минуту и 11 секунд Интересно, зачем в цикле по i каждый раз спрашивать GetSelectedItem... Добавлено через 7 минут и 8 секунд Только что заметила, что в заголовке темы указано SelChanging. Если речь идет об обработке уведомления TVN_SELCHANGING, то вся текущая информация поступает вместе с уведомлением - в LPARAM:
-------------------- ... |
|||
|
||||
| DominiK |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 11.3.2007 Где: Россия, Омск Репутация: нет Всего: нет |
Брр у меня в коде она(строка) поднята над циклом, не помню как она сюда попала В остальном спасибо, уже разобрался Это сообщение отредактировал(а) DominiK - 29.12.2008, 21:22 |
||||
|
|||||
| EvgenyTS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 26.11.2008 Репутация: нет Всего: нет |
хотел спросить. А как программно в дереве установить курсор на последний элемент? И чтоб он не пропадал при смене фокуса. (т.е у меня программа работает в фоне, я установил курсор на элементе. Потом добавились другие элементы)
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Поставь дереву стиль TVS_SHOWSELALWAYS, и фокусный элемент будет всегда подсвечиваться.
А что касается как найти - перебери все ветви первого уровня, у последний - всех детей и т.д., пока не найдешь самый распоследний. -------------------- ... |
|||
|
||||
| EvgenyTS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 26.11.2008 Репутация: нет Всего: нет |
сейчас получается что я элемент выделяю и он становится в синей рамочке. После смены фокуса он становится серым и я не имею к ниму доступа(для управления клавишами курсора). Я так понимаю нужно поставить фокус на дерево, а как и где ?
|
|||
|
||||
| voov |
|
|||
![]() Патамушта мы пилоты ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 29.11.2007 Репутация: 8 Всего: 8 |
||||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Если дерево (или приложение не в фокусе), делать его принудительно в фокусе нехорошо. Показывать итем как фокусный (искуственно) - тоже нехорошо, да и зачем? Текущий итем будет выделен (серым) и этого должно быть достаточно.
-------------------- ... |
|||
|
||||
| voov |
|
|||
![]() Патамушта мы пилоты ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 29.11.2007 Репутация: 8 Всего: 8 |
||||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Может быть... но почему тогда фокус убегает?
Представь себе приложение, в котором фокус, куда бы ты ни пытался перейти, с упорством идиота возвращается на некое дерево... -------------------- ... |
|||
|
||||
| voov |
|
|||
![]() Патамушта мы пилоты ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 29.11.2007 Репутация: 8 Всего: 8 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |