11.01.2013, 15:37 | #1 |
Участник
|
Покраска строк дерева
Добрый день!
Может кто-то пробовал красить определенные строки в дереве в различные цвета и у кого-то получилось? Прошу откликнуться. Заранее спасибо! |
|
11.01.2013, 15:56 | #2 |
Участник
|
Я для деревянных поверхностей предпочитаю использовать бесцветный лак
Извините не смог сдержаться. А вариант связи дерева с гридом (можно раскрашенным) не заменит вашу хотелку? Примеры такой реализации есть в стандарте. |
|
11.01.2013, 16:02 | #3 |
Участник
|
хотелось бы конечно в разноцветный лак
Заменить дерево на грид не получится, нужно реализовать через дерево. |
|
12.01.2013, 16:26 | #4 |
Участник
|
Со цветами решения не знаю, но может быть вместо цветов подойдет решение с разными иконками? Иконки ветвям дерева можно назначать в зависимости от значения какого-либо поля или метода таблицы.
Более того, на мой взгляд, при реализации интерфейса в виде дерева, нужно давать возможность переключаться в отображение в виде грида. В итоге, пользователи, которые по каким-то причинам хотят видеть "разноцветное безобразие" пользуются раскраской грида, иконками гида и дерева, а более опытные, фильтром по значению поля. Например, как в прикрепленных картинках. Последний раз редактировалось Raven Melancholic; 12.01.2013 в 16:35. Причина: Прикреплены изображения |
|
|
За это сообщение автора поблагодарили: sparco (1). |
13.01.2013, 17:23 | #5 |
Участник
|
Спасибо за совет, различные иконки тоже используются, хотелось что бы больше наглядности было, а покрасить строки дерева показалось, что будет довольно показательным. Насчет грида - хорошая идея, спасибо! Но вот интересно, неужели даже с WinAPI нельзя его покрасить...
|
|
14.01.2013, 11:19 | #6 |
Участник
|
Используя сообщения TVM_* можно воздействовать treecontol, возможно вам помогут TVM_SETBKCOLOR и TVM_SETTEXTCOLOR. Надо только понять откуда ноги ростут у аксаптовского контрола, что является для него родителем.
С уважением, Дмитрий. |
|
|
За это сообщение автора поблагодарили: sparco (1). |
14.01.2013, 11:30 | #7 |
Участник
|
Спасибо, Дмитрий Эдуардович!
|
|
14.01.2013, 11:38 | #8 |
Участник
|
И Вам успехов )
C уважением, Дмитрий. |
|
14.01.2013, 16:14 | #9 |
Участник
|
Попробовал сделать так:
X++: #WinApi #define.TVM_SETTEXTCOLOR ( 0x1100+30 ) winapi::sendMessageEx( _formTreeControl.hWnd(), #TVM_SETTEXTCOLOR, 0, 0xFF00FF ); |
|
15.01.2013, 08:30 | #10 |
Участник
|
У узла дерева нет собственного hWnd и в TVITEM нет нужного свойства.
Только WM_NOTIFY вам в помощь. http://www.experts-exchange.com/Prog..._21018161.html |
|
|
За это сообщение автора поблагодарили: sparco (1). |
15.01.2013, 09:57 | #11 |
Участник
|
Да, переопределить Paint в axapta затруднительно...
http://www.codeguru.com/cpp/controls...dual-items.htm С уважением, Дмитрий. |
|
|
За это сообщение автора поблагодарили: sparco (1). |
15.01.2013, 10:45 | #12 |
MS Dynamics AX 2012 R3
|
Можно красить через свойства таблицы каждое отдельное поле, года 2 назад этим замарачивался, по хотелкам пользователей.
Возьмём в пример покраску заказа: Перейти через настройку от нужного поля или имени формы; Нажать кн. Правка, далее Designs, выбираем Table или Line; Далее [... General], затем Group:Purch Например, если это строки(Line), то выбрать StringEdit:PurchLine_Name пр. кн. мыши \ Свойства. Цвета названий, текста и фона включаются для редактирования поменяв параметр RGB в поле ColorScheme, после чего становятся активными поля: BackgroundColor - фон; ForegroundColor - текст в этом фоне; LabelForegroundColor - название. --- AutoDataGroup - Блокировка на изменение параметров свойств. AutoDeclaration - автоматическое заполнение данных о параметрах свойств. --- Примеры, которые помню, кодов цветов: WindowBackGround - стандартный цвет аксапты; 0,0,0 - чёрный; 255,255,255 - белый; 252,192,192 - розовый; 204,255,204 - зелёный. --- Как посмотреть прописанный цвет: От формы окна перейти в настройки, от имени поля нажать Правка, развернуть таблицу, развернуть методы, открыть DisplayOptions.
__________________
"Человек человеку волк, а зомби зомби зомби." (с) С Уважением, Алексей Кабанов |
|
15.01.2013, 11:02 | #13 |
Участник
|
ZornFire, так ведь можно покрасить строки грид или какого-нибудь другого контрола, а не определенной строки в дереве. или я что-то не понимаю.
|
|
15.01.2013, 11:07 | #14 |
Ищущий знания...
|
Цитата:
Сообщение от ZornFire
Можно красить через свойства таблицы каждое отдельное поле, года 2 назад этим замарачивался, по хотелкам пользователей.
Возьмём в пример покраску заказа: Перейти через настройку от нужного поля или имени формы; Нажать кн. Правка, далее Designs, выбираем Table или Line; Далее [... General], затем Group:Purch Например, если это строки(Line), то выбрать StringEdit:PurchLine_Name пр. кн. мыши \ Свойства. Цвета названий, текста и фона включаются для редактирования поменяв параметр RGB в поле ColorScheme, после чего становятся активными поля: BackgroundColor - фон; ForegroundColor - текст в этом фоне; LabelForegroundColor - название. --- AutoDataGroup - Блокировка на изменение параметров свойств. AutoDeclaration - автоматическое заполнение данных о параметрах свойств. --- Примеры, которые помню, кодов цветов: WindowBackGround - стандартный цвет аксапты; 0,0,0 - чёрный; 255,255,255 - белый; 252,192,192 - розовый; 204,255,204 - зелёный. --- Как посмотреть прописанный цвет: От формы окна перейти в настройки, от имени поля нажать Правка, развернуть таблицу, развернуть методы, открыть DisplayOptions.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
15.01.2013, 11:38 | #15 |
MS Dynamics AX 2012 R3
|
Видимо, я спешил и отвлекался, не уловив сути, возможно мой пример тоже кому нибудь пригодиться.
__________________
"Человек человеку волк, а зомби зомби зомби." (с) С Уважением, Алексей Кабанов |
|
16.01.2013, 10:36 | #16 |
Участник
|
Цитата:
Сообщение от ZornFire
Примеры, которые помню, кодов цветов:
WindowBackGround - стандартный цвет аксапты; 0,0,0 - чёрный; 255,255,255 - белый; 252,192,192 - розовый; 204,255,204 - зелёный. --- Как посмотреть прописанный цвет: От формы окна перейти в настройки, от имени поля нажать Правка, развернуть таблицу, развернуть методы, открыть DisplayOptions. |
|
17.01.2013, 13:20 | #17 |
MS Dynamics AX 2012 R3
|
Можно и так, кому как удобнее.
__________________
"Человек человеку волк, а зомби зомби зомби." (с) С Уважением, Алексей Кабанов |
|