| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > VirtualTreeView и фокус определенной записи |
| Автор: MacTep 15.8.2012, 22:51 | ||
| Есть следующее дерево. http://s1.ipicture.ru/Gallery/Viewfull/12497722.html Раскрываю его программно следующим кодом:
http://s1.ipicture.ru/Gallery/Viewfull/12497743.html Что можно сделать, чтобы такого не было? |
| Автор: halfhope 16.8.2012, 03:49 |
| Если это баги отрисовки, тогда попробуйте repaint, но это маловероятно. По ходу это проблемы с vsSelected, точнее с ним все в порядке, попробуйте убирать флаг vsSelected со старого нода перед выделением нового. Т.е. на старом ноде остался флаг vsSelected; или свойство MultiSelect(False) но не знаю, поможет оно или нет. |
| Автор: kami 16.8.2012, 07:41 | ||
|
| Автор: kami 16.8.2012, 08:56 |
Это для того, в котором "раскрывается программно следующим кодом". А это я не обратил внимания, что у тебя не включен ExtendedSelect, убрать. Но в любом случае - нужно устанавливать Selected и Focused. Почему - не помню, давненько смотрел в исходники VT. Хотя... и версия VT у меня ни разу не последняя |
| Автор: MacTep 16.8.2012, 12:18 | ||
| Первое: у меня нет OldNode на момент выделения найденного. Второе: причем тут событие, когда у меня раскрывается определенный пункт дерева, если глюк происходит на следующем действии, а именно на действии выделения другого узла дерева? Добавлено через 3 минуты и 55 секунд В общем заработало корректно вот так:
|
| Автор: kami 16.8.2012, 13:37 | ||
Без комментариев.
Ты спросил - я ответил. Откуда мне знать, в какой части программы будет работать обсуждаемый код? Код мной был приведен верный, в конце концов им ты и воспользовался. Какой смысл в этой критике? |
| Автор: MacTep 16.8.2012, 17:43 | ||
| kami, спасибо большое. Никакой критики. Может быть просто слова подобрал не те, чтобы выразить свои вопросы. Наоборот очень благодарен, что помог. Спасибо! Добавлено через 27 секунд
|