powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Установить курсор на нужный эелемент в объекте TreeView
10 сообщений из 10, страница 1 из 1
Установить курсор на нужный эелемент в объекте TreeView
    #33515333
stivap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
При загрузке этого объекта необходимо передать параметр, т.е номер узла и автоматически курсор устанвливается на нужный элемент с этим номером узла.
Как это сделать?
Спасибо!
...
Рейтинг: 0 / 0
Установить курсор на нужный эелемент в объекте TreeView
    #33515410
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
STORE .T. TO ;
    oTree.Nodes(tcNodeID).Selected
...
Рейтинг: 0 / 0
Установить курсор на нужный эелемент в объекте TreeView
    #33515418
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как вы передаете "номер узла"?
Если через его Key = lcKey, то:
Код: plaintext
1.
2.
IF TYPE("THISFORM.oTreeView.Nodes(m.lcKey)") = "O"
    THISFORM.oTreeView.Nodes(m.lcKey).Selected = .T.
ENDIF
С уважением, Алексей
...
Рейтинг: 0 / 0
Установить курсор на нужный эелемент в объекте TreeView
    #33515492
FoxFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ThisForm.oTree.Nodes(10).Selected= .T.
Thisform.oTree.SetFocus
...
Рейтинг: 0 / 0
Установить курсор на нужный эелемент в объекте TreeView
    #33515499
stivap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, получилось!
Еще есть вопрос про Check в том объекте, допустим, я установил флажки, а где они после этого сохраняются, так чтобы после следующей загрузки мне их заново не устанавливать?
...
Рейтинг: 0 / 0
Установить курсор на нужный эелемент в объекте TreeView
    #33515515
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
STORE .T. TO ;
    oTree.Nodes(tcNodeID).Checked
...
Рейтинг: 0 / 0
Установить курсор на нужный эелемент в объекте TreeView
    #33515556
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Они нигде не сохраняются автоматически!
А что у вас является источником данных для TreeView?
Вам надо самим отслеживать изменение состояния oTree.Nodes(...).Checked и сохранять, например, в DBF - файле (таблице на SQL сервере) и т.п. А при инициализации TreeView менять состояние этого свойства Node.

С уважением, Алексей
...
Рейтинг: 0 / 0
Установить курсор на нужный эелемент в объекте TreeView
    #33517727
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Aleksey!

Ну ещё не дурно бы напомнить про метод Nodes(x).EnsureVisible() - а то вдруг
дерево сильно ветвистое, и найденный узел "уедет" сильно далеко вправо.

Кстати насчёт деревьев - есть ли какой-нить (желательно бесплатный) контрол,
аналогичный MS-ному "дереву", но умеющий показывать чекбоксы на 3 состояния
(т.е. грубо говоря поддерживающий NULL-ы)? А также желательно "выборочно"
рисующий чекбоксы - т.е. например я не желаю их видеть на первых 2-х уровнях
дерева, и лишь в более глубоких они мне нужны... Я бы и на своих "картинках"
согласился это сделать, если бы MS treeview мог хоть как-то рапортовать
реальную позицию "клика мыши" - т.е. позицию относительно всего своего
"полотна", а не относительно клиентской области окна :( А то при прокрутке
дерева по горизонтали становится практически невозможно определить нажали на
картинке, или на самом "тексте" узла :( По крайней мере я пока не нашёл
никакого способа это выяснить (сам то узел определить несложно, а вот по
какой из его "частей" кликали - уже проблематично)... Вроде-бы в MFC всё для
этого есть, а MS не сделало ни метода конвертации координат, ни даже
банального ViewPortLeft/ViewPortTop :(
P.S. "Нарисовать свой" pls не предлагать :) Среди красивых но безумно
дорогих или слишком уж сложных/навороченных (типа DevXPress-овского набора
компонент - того старого, что ещё ActiveX-овый был) тоже пожалуй не стоит
советовать... Мне бы чего попроще...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Установить курсор на нужный эелемент в объекте TreeView
    #33517881
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
Hi Aleksey!
Кстати насчёт деревьев - есть ли какой-нить (желательно бесплатный) контрол,
аналогичный MS-ному "дереву", но умеющий показывать чекбоксы на 3 состояния
(т.е. грубо говоря поддерживающий NULL-ы)?

Я это реализую не через Checked, а с помощью свойства Node - Image.
Создал специальный класс на основе TreeView и добавил соответствующие картинки в ImageList.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Установить курсор на нужный эелемент в объекте TreeView
    #33520655
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Aleksey!

Картинки добавить не проблема - проблема отслеживать клики на этих самых
картинках - а именно в ситуации когда работает горизонтальный скроллинг. Я
пока сделал через зад - двойным запросом метода HitTest - но мне это очень
мало нравится. Да и со скоростью проблемы - из-за кода в
MouseDown/MouseUp/NodeClick и включенного Drag'n'Drop (там тоже свой
анализ - можно ли тянуть ветку или нельзя, можно ли кидать на ту над которой
курсор или нельзя - короче много всякой ерунды в коде) всё работает криво -
т.е. иногда теряются нажатия, иногда NodeClick теряется...
А что ещё печалит, так это то что при включении картинок всегда выделяется
под них место - а я бы хотел "прижать" текст для части узлов - вроде бы для
"виндового" дерева через АПИ это можно сделать, а вот для "саморисующегося"
TreeView 6.0 возможно что и нельзя - опять же известный код для смены
BackColor дерева в этом контроле жестоко глючит - при любом режиме
подразумевающем показ TreeLines, закрашивает область слева от прорисованных
линий белым...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Установить курсор на нужный эелемент в объекте TreeView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]