powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Thisform.oTree.ImageList
19 сообщений из 19, страница 1 из 1
Thisform.oTree.ImageList
    #33274191
GrayFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dobroe den vsem.
Mne nado svyazat treeView s ImageList Control?
napiasl tak :thisform.oTree.ImageList = Thisform.oImege.ListImages
I vot oshibka
Zarane bloqadaren.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274268
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thisform.oTree. Object .ImageList = Thisform.oImege.ListImages
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274269
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, надеюсь, что Thisform.oImege - это объект-контейнер (Container). В противном случе, что такое "oImege"?
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274275
GrayFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Spasibo Vladimir
oimaje - eto standartniy Olecontrol(ImageList Control 6.0)
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274281
GrayFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
thisform.oTree.Object.ImageList = Thisform.oImege.ListImages
i eshyo ras oshibka.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274285
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда надо писать так

Код: plaintext
thisform.oTree.Object.ImageList = Thisform.oImege

Надо в свойство объекта TreeView записать ссылку на сам объект ImageList, а не на его коллекцию.

Начиная с версии VFP6 ключевое слово "Object" уже не обязательно. Хотя и не мешает.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274319
GrayFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A seychas dayot oshibku "property olmage iz not found"
u menya Foxpro9
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274361
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где именно (в каком методе) даешь эту команду?

Дело в том, что если ты даешь эту команду в событии INIT объекта TreeView, то нет никакой гарантии, что к этому моменту объект ImageList уже добавлен на форму.

Управлять физическим порядком добавления объектов на форму, если эти объекты добавлены через дизайнер формы, нет никакой возможности.

Естесственно, что если к моменту обращения к объекту его еще физически не существует, то ты и получишь сообщение об ошибке.

Чтобы избежать подобной неопределенности, метод наполнения TreeView надо вызывать из события INIT самой формы. К этому моменту все объекты уже добавлены и обращение к ним пройдет без ошибок.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274474
GrayFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Da immeno v Init dayu etu komandu.A mojno Load?
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274540
GrayFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Posmotrite pjalusta.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274560
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrayFoxDa immeno v Init dayu etu komandu.A mojno Load?
Load формы - еще не один объект на форме не создан.
Init-объктов формы
Init формы - после создания объектов формы.

Вроде так
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274659
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или это опечатка или ты ошибся в написании имени объекта.

Сообщение об ошибке: "property olmage iz not found"
Ссылка на объект: Thisform. oImege

Где-то ты ошибся в буквах. "L" вместо "I" и "e" вместо "a". Проверь корректность имени объекта ImageList.

В остальном, все правильно.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274828
GrayFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sposibo Vladimir.
Oshibka bilo immeno na bukve .Rabotaet.
A mojno soedinit ImageList na otdelnix Nodes? Chtobi na Nodes otobrajalsiya druqie ikonki.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274865
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrayFoxSposibo Vladimir.
Oshibka bilo immeno na bukve .Rabotaet.
A mojno soedinit ImageList na otdelnix Nodes? Chtobi na Nodes otobrajalsiya druqie ikonki.
Это 5 параметр метода Nodes.ADD(). Там указывается индекс (число) иконки из коллекции ассоциированного объекта ImageList.

Код: plaintext
ThisForm.MyTree.Nodes.Add(,,"_1_","Первый узел", 1 )

Ну, или можно указать явно

Код: plaintext
ThisForm.MyTree.Nodes( 1 ).Image =  1 

Это опять-таки индекс иконки из коллекции ImageList

6 параметр метода Nodes.ADD() это тоже индекс иконки, но той, которая будет отображаться на узле, когда он является выбранным. Явное указание можно сделать так

Код: plaintext
ThisForm.MyTree.Nodes( 1 ).SelectedImage =  1 

Если он не указан, то, по умолчанию считается, что он равен 5 параметру.

Есть еще одно свойство, связанное с иконками - это какую иконку надо отображать, когда узел раскрыт.

Код: plaintext
ThisForm.MyTree.Nodes( 1 ).ExpandedImage =  1 

Более подробно о работе с TreeView можешь почитать здесь

http://kodu.neti.ee/~juri4/vfpplus/ax_treeview_faq_01_ru.htm
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33274875
GrayFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sposibo Viladimir.Ya vam ochen bloqadaren.
Ya jelayu vam zdorovie.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33275089
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi ВладимирМ!

> Управлять физическим порядком добавления объектов на форму, если эти
> объекты добавлены через дизайнер формы, нет никакой возможности

Ну на самом деле отчасти можно... Во-первых можно сделать Ctrl+X/Ctrl+V -
т.е. якобы "удалить", а потом добавить обратно объект(ы)
Во-вторых из панели Layout или меню Format через Bring to top/Sent to back -
правда в этом случае для того чтобы увидеть эффект перемещения (т.е. чтобы в
списке объектов окна Properties они выстроились в том порядке который
РЕАЛЬНО стал новым физическим порядком) нужно закрыть и снова открыть форму
в дизайнере.

P.S. Конечно же обычно значительно проще не порядком объектов рулить, а
просто перенести код в метод Init формы например :)
P.P.S. Также интересно, но в VFP7/8/9 (6-ки нет под рукой) физический
порядок следования объектов в форме не мешает писать This.ImageList =
ThisForm.oImageList в Init TreeView... Видимо ActiveX контролы реально
создаются ДО того как начинает выполняться цепочка Init-ов...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33275243
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
Также интересно, но в VFP7/8/9 (6-ки нет под рукой) физический
порядок следования объектов в форме не мешает писать This.ImageList =
ThisForm.oImageList в Init TreeView...
Думаю, что это так. У меня эта строка находится в INIT TreeView класса и НИ РАЗУ не возникала ошибка.
С Уважением, Алексей.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33275538
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, здесь логика несколько попроще.

Команда This.ImageList = ThisForm.oImageList всего-лишь говорит о том откуда надо брать иконки в тот момент, когда в этом возникнет необходимость.

Т.е. вот если там же, в TreeView.Init начать использовать объект ThisForm.oImageList, ну вроде

This.Nodes(1).Image = 1

то могут возникнуть глюки

PS: когда я начинал изучать работу с TreeView (Win 95 + VFP6) были реальные глюки связанные именно с порядком физического создания объектов на форме. Пришлось переносить код наполнения дерева в init-формы.
...
Рейтинг: 0 / 0
Thisform.oTree.ImageList
    #33277692
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi ВладимирМ!

> Т.е. вот если там же, в TreeView.Init начать использовать объект
> ThisForm.oImageList

Именно там я дерево и "наполнял", используя последние параметры метода Add -
индексы картинок.
Всё отображалось как и надо. Совсем другой вопрос, что РЕАЛЬНО init этого
самого ImageList не отработал ещё - и если ТАМ есть код (например загоняющий
картики программно в контрол) - то будет ой ;)
В общем налицо "раздвоение" процесса инициализации - одно дело "создание"
контрола, и даже создание свойства-ссылки в форме, другое дело - отработка
метода Init фоксового OleControl контейнера...

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


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