|
|
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
Добрый день! При загрузке этого объекта необходимо передать параметр, т.е номер узла и автоматически курсор устанвливается на нужный элемент с этим номером узла. Как это сделать? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 11:15 |
|
||
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 11:32 |
|
||
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
А как вы передаете "номер узла"? Если через его Key = lcKey, то: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 11:34 |
|
||
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
ThisForm.oTree.Nodes(10).Selected= .T. Thisform.oTree.SetFocus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 11:57 |
|
||
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
Спасибо, получилось! Еще есть вопрос про Check в том объекте, допустим, я установил флажки, а где они после этого сохраняются, так чтобы после следующей загрузки мне их заново не устанавливать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 11:58 |
|
||
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 12:02 |
|
||
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
Они нигде не сохраняются автоматически! А что у вас является источником данных для TreeView? Вам надо самим отслеживать изменение состояния oTree.Nodes(...).Checked и сохранять, например, в DBF - файле (таблице на SQL сервере) и т.п. А при инициализации TreeView менять состояние этого свойства Node. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 12:14 |
|
||
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 01:45 |
|
||
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
Igor Korolyov Hi Aleksey! Кстати насчёт деревьев - есть ли какой-нить (желательно бесплатный) контрол, аналогичный MS-ному "дереву", но умеющий показывать чекбоксы на 3 состояния (т.е. грубо говоря поддерживающий NULL-ы)? Я это реализую не через Checked, а с помощью свойства Node - Image. Создал специальный класс на основе TreeView и добавил соответствующие картинки в ImageList. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 08:31 |
|
||
|
Установить курсор на нужный эелемент в объекте TreeView
|
|||
|---|---|---|---|
|
#18+
Hi Aleksey! Картинки добавить не проблема - проблема отслеживать клики на этих самых картинках - а именно в ситуации когда работает горизонтальный скроллинг. Я пока сделал через зад - двойным запросом метода HitTest - но мне это очень мало нравится. Да и со скоростью проблемы - из-за кода в MouseDown/MouseUp/NodeClick и включенного Drag'n'Drop (там тоже свой анализ - можно ли тянуть ветку или нельзя, можно ли кидать на ту над которой курсор или нельзя - короче много всякой ерунды в коде) всё работает криво - т.е. иногда теряются нажатия, иногда NodeClick теряется... А что ещё печалит, так это то что при включении картинок всегда выделяется под них место - а я бы хотел "прижать" текст для части узлов - вроде бы для "виндового" дерева через АПИ это можно сделать, а вот для "саморисующегося" TreeView 6.0 возможно что и нельзя - опять же известный код для смены BackColor дерева в этом контроле жестоко глючит - при любом режиме подразумевающем показ TreeLines, закрашивает область слева от прорисованных линий белым... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 03:07 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=277&tid=1592449]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 322ms |

| 0 / 0 |
