![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
foxygun |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 27.2.2009 Репутация: нет Всего: нет |
Всем привет!
Можно ли в компоненте treeView, вместо значков "+" и "-" выводить изображения (иконки)? Слышал, что нужно создать ImageList. Но как это сделать? Заранее спасибо! |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
foxygun, нет, ImageList на значки +/- не влияет....
По сабжу читать вот это: http://msdn.microsoft.com/en-us/library/sy...w.drawnode.aspx -------------------- СУВ, Partizan. |
|||
|
||||
Redsweet |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 26.2.2009 Где: Казахстан Репутация: нет Всего: нет |
Есть такой компонент ImageList! Просто добавляшь его и загружаешь в него картинки. А потом в свойствах TreeView присваеваешь созданную коллекцию в ImageList. Таким образом добавится картинка перед каждым элементом дерева.
Это сообщение отредактировал(а) Redsweet - 11.5.2009, 00:51 |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
Redsweet, Назначение ImageList-а объекту TreeView никак не повлияет на отображение +/-....Это только даст возможность рядом с текстом показать нужную иконку...
-------------------- СУВ, Partizan. |
|||
|
||||
Redsweet |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 26.2.2009 Где: Казахстан Репутация: нет Всего: нет |
Но как бы в TreeView и нет плюсов и минусов по умолчанию. Там стрелочки.
Этот код создает +/-? Как вы разбираетесь в этом английском MSDN? Я в русском и то с трудом... |
||||
|
|||||
Partizan |
|
||||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
ммм...а можно поинтересоваться видели ли вы как оно выглядит в WinXP? Боюсь вас разочаровать, конечно...но, что "стрелочки" в Vista(у вас ведь Vista, не так ли?), что +/- в XP - это всё от системной темы...и автору, насколько я понимаю, нужно именно в эту часть TreeViewItem-а нарисовать иконку...
Ну тут только могу посоветовать подтянуть английский... -------------------- СУВ, Partizan. |
||||
|
|||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 16 Всего: 142 |
У TreeView есть свойство ShowPlusMinus. Мне кажется, это -как раз то что надо. А картинку для конкретных узлов можно менять в обработчиках событий AfterCollapse и AfterExpand например.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
foxygun |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 27.2.2009 Репутация: нет Всего: нет |
Создал ImageList, добавил туда картинки! Установил значение ImageList компонента treeView. Значение Imageindex установил на картинку!
Для чего поле ImageKey? ImageIndex позволяет выбрать одну из двух картинок. В результате сего, в treeView, рядом с +/-, отображается одна и таже картинка. Почему так? |
|||
|
||||
Redsweet |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 26.2.2009 Где: Казахстан Репутация: нет Всего: нет |
Видела конечно! ![]() У меня XP, но с Вистовской темой... От того и стрелочки везде вместо +/-... А я еще понять не могла, где там foxygun нашел +/-! ![]() Это точно... ![]() ![]() ![]() |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
foxygun, в aftercollapse/afterexpand меняйте ImageIndex у TreeNode
-------------------- СУВ, Partizan. |
|||
|
||||
Redsweet |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 26.2.2009 Где: Казахстан Репутация: нет Всего: нет |
||||
|
||||
foxygun |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 27.2.2009 Репутация: нет Всего: нет |
||||
|
||||
tososun |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 3.6.2009 Репутация: нет Всего: нет |
Про .Net не знаю, пользую старый, добрый билдер 6.0 - там задачка тривиальная В ImageList загружаешь три изображения состояния ноды к примеру: индекс 0 - закрытая книга индекс 1 - открытая книга индекс 2 - лист в TreeVew property Images = твоему списку изображений далее обрабатываем события void __fastcall TForm1::TreeView1GetImageIndex(TObject *Sender, TTreeNode *Node) { if ( Node -> HasChildren ) { if ( Node -> Expanded ) { Node -> ImageIndex = 1; } else { Node -> ImageIndex = 0; } } else { Node -> ImageIndex = 2; } } //--------------------------------------------------------------------------- void __fastcall TForm1::TreeView1GetSelectedIndex(TObject *Sender, TTreeNode *Node) { Node -> SelectedIndex = Node -> ImageIndex; } //--------------------------------------------------------------------------- И незабудь, к примеру в OnExpended & OnColapsed, перерисовать ноду, иначе изображения накладываются |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |