powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / (D&D) Картинка при перетаскивании в дереве
7 сообщений из 7, страница 1 из 1
(D&D) Картинка при перетаскивании в дереве
    #33009709
Фотография SAM-FoxPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли средствами Fox сделать так, чтобы в качестве картинки при перетаскивании узла в дереве (ctTree, TreeView) использовалась картинка и надпись этого узла? (Как при перетаскивании в Windows)? Никогда раньше не пытался это сделать, а тут заказчик задал вопрос...

FoxPro9.

Спасибо.
...
Рейтинг: 0 / 0
(D&D) Картинка при перетаскивании в дереве
    #33009783
Посмотри свойство DragIcon
...
Рейтинг: 0 / 0
(D&D) Картинка при перетаскивании в дереве
    #33009805
Фотография SAM-FoxPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, ясно, что DragIcon. А как сделать-то? Как создать эту самую картинку динамически? Картинка узла мне известна, а надпись (NodeText)? Я же не могу знать, что туда пользователь занесет!? Или я что-то не понимаю?
...
Рейтинг: 0 / 0
(D&D) Картинка при перетаскивании в дереве
    #33009859
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текст узла - это его свойство text

ThisForm.TreeView.Nodes(key|index).text

Если ты перемещаешь предварительно выбранный узел (пользователь снчала четко нажал и опустил клавишу мыши и только потом начал Drag-Drop), то можно использовать объект SelectedItem

ThisForm.TreeView.SelectedItem.Text

Но, как из этого текста динамически сформировать иконку я не в курсе.

А вообще-то, бросил я эти эксперименты с Drag-Drop в TreeView. Дело в том, что этот процесс слабо-управляемый.

Требует от пользователя повышенной координации движения

Неясно, куда именно положить перемещаемый узел: следом за узлом-целью или внутрь узла-цели (дочерний элемент ??? )

Достаточно муторное программирование. В том смысле, что надо много где чего "подправлять". Т.е. корректировать очень большое количество событий TreeView

Вместо Drag-Drop использую Shortcut-меню. Т.е. по правой клавише мыши сначала выьирается узел, который будет перемещаться (и этот узел подсвечивается), а потом также по правой клавише мыши указывается куда надо переместить узел (Следом, Вложить)
...
Рейтинг: 0 / 0
(D&D) Картинка при перетаскивании в дереве
    #33009994
Фотография SAM-FoxPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To ВладимирМ

ВладимирМТекст узла - это его свойство text

ThisForm.TreeView.Nodes(key|index).text

Если ты перемещаешь предварительно выбранный узел (пользователь снчала четко нажал и опустил клавишу мыши и только потом начал Drag-Drop), то можно использовать объект SelectedItem

ThisForm.TreeView.SelectedItem.Text

Спасибо, это понятно.

ВладимирМНо, как из этого текста динамически сформировать иконку я не в курсе.

Вот в этом весь вопрос и заключается...

ВладимирМА вообще-то, бросил я эти эксперименты с Drag-Drop в TreeView. Дело в том, что этот процесс слабо-управляемый.

Требует от пользователя повышенной координации движения

Неясно, куда именно положить перемещаемый узел: следом за узлом-целью или внутрь узла-цели (дочерний элемент ??? )

Достаточно муторное программирование. В том смысле, что надо много где чего "подправлять". Т.е. корректировать очень большое количество событий TreeView

Вместо Drag-Drop использую Shortcut-меню. Т.е. по правой клавише мыши сначала выьирается узел, который будет перемещаться (и этот узел подсвечивается), а потом также по правой клавише мыши указывается куда надо переместить узел (Следом, Вложить)


С TreeView я в этом направлении не экпериментировал, а вот в ctTree у меня это реализовано и, в общем, работает. Картинки динамически меняются и прочие красивости (по просьбам трудящихся). Хотя, конечно, продублировано Shortcut-меню.
А тут возникла такая просьба - а я не готов :(
...
Рейтинг: 0 / 0
(D&D) Картинка при перетаскивании в дереве
    #33010107
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе, существует такой метод CreatDragImage, который как раз и должен создавать образ иконки на основе содержимого текущего узла. Т.е. должно быть что-то вроде

Код: plaintext
ThisForm.TreeView.DragIcon = ThisForm.TreeView.SelectedItem.CreateDragImage()

Однако у меня так и не получилось сделать корректную картинку через этот метод. Может, у тебя что получиться.
...
Рейтинг: 0 / 0
(D&D) Картинка при перетаскивании в дереве
    #33012229
Фотография SAM-FoxPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир

ВладимирМВ принципе, существует такой метод CreatDragImage, который как раз и должен создавать образ иконки на основе содержимого текущего узла. Т.е. должно быть что-то вроде

Код: plaintext
ThisForm.TreeView.DragIcon = ThisForm.TreeView.SelectedItem.CreateDragImage()

Однако у меня так и не получилось сделать корректную картинку через этот метод. Может, у тебя что получиться.

Спасибо, есть такая фича в TreeView. Сделал так:
Код: plaintext
SAVEPICTURE(ThisForm.TreeView.SelectedItem.CreateDragImage,lcFileName)
Прописал это в MouseMove и создается файл картинки lcFileName. Дальше- понятно. НО - только картинка, без текста. А зачем? Ведь я и так знаю, какая картинка назначена этому узлу... Может еще чего надо?

А в ctTree, вообще ничего похожего не нашел...

Вот, блин, зараза! Жил себе спокойно...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / (D&D) Картинка при перетаскивании в дереве
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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