AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.01.2013, 15:37   #1  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Покраска строк дерева
Добрый день!
Может кто-то пробовал красить определенные строки в дереве в различные цвета и у кого-то получилось? Прошу откликнуться.
Заранее спасибо!
Старый 11.01.2013, 15:56   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Я для деревянных поверхностей предпочитаю использовать бесцветный лак
Извините не смог сдержаться.

А вариант связи дерева с гридом (можно раскрашенным) не заменит вашу хотелку? Примеры такой реализации есть в стандарте.
Старый 11.01.2013, 16:02   #3  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
хотелось бы конечно в разноцветный лак

Заменить дерево на грид не получится, нужно реализовать через дерево.
Старый 12.01.2013, 16:26   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Со цветами решения не знаю, но может быть вместо цветов подойдет решение с разными иконками? Иконки ветвям дерева можно назначать в зависимости от значения какого-либо поля или метода таблицы.
Более того, на мой взгляд, при реализации интерфейса в виде дерева, нужно давать возможность переключаться в отображение в виде грида. В итоге, пользователи, которые по каким-то причинам хотят видеть "разноцветное безобразие" пользуются раскраской грида, иконками гида и дерева, а более опытные, фильтром по значению поля.
Например, как в прикрепленных картинках.
Миниатюры
Нажмите на изображение для увеличения
Название: Пример01.JPG
Просмотров: 477
Размер:	64.1 Кб
ID:	8010   Нажмите на изображение для увеличения
Название: Пример02.JPG
Просмотров: 434
Размер:	151.9 Кб
ID:	8011  


Последний раз редактировалось Raven Melancholic; 12.01.2013 в 16:35. Причина: Прикреплены изображения
За это сообщение автора поблагодарили: sparco (1).
Старый 13.01.2013, 17:23   #5  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Спасибо за совет, различные иконки тоже используются, хотелось что бы больше наглядности было, а покрасить строки дерева показалось, что будет довольно показательным. Насчет грида - хорошая идея, спасибо! Но вот интересно, неужели даже с WinAPI нельзя его покрасить...
Старый 14.01.2013, 11:19   #6  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Используя сообщения TVM_* можно воздействовать treecontol, возможно вам помогут TVM_SETBKCOLOR и TVM_SETTEXTCOLOR. Надо только понять откуда ноги ростут у аксаптовского контрола, что является для него родителем.

С уважением, Дмитрий.
За это сообщение автора поблагодарили: sparco (1).
Старый 14.01.2013, 11:30   #7  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Спасибо, Дмитрий Эдуардович!
Старый 14.01.2013, 11:38   #8  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
И Вам успехов )

C уважением, Дмитрий.
Старый 14.01.2013, 16:14   #9  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Попробовал сделать так:
X++:
#WinApi

    #define.TVM_SETTEXTCOLOR ( 0x1100+30 )

    winapi::sendMessageEx( _formTreeControl.hWnd(), #TVM_SETTEXTCOLOR, 0, 0xFF00FF );
Но покрасилось все дерево в один цвет.
Старый 15.01.2013, 08:30   #10  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
У узла дерева нет собственного hWnd и в TVITEM нет нужного свойства.
Только WM_NOTIFY вам в помощь. http://www.experts-exchange.com/Prog..._21018161.html
За это сообщение автора поблагодарили: sparco (1).
Старый 15.01.2013, 09:57   #11  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Да, переопределить Paint в axapta затруднительно...
http://www.codeguru.com/cpp/controls...dual-items.htm

С уважением, Дмитрий.
За это сообщение автора поблагодарили: sparco (1).
Старый 15.01.2013, 10:45   #12  
ZornFire is offline
ZornFire
MS Dynamics AX 2012 R3
Аватар для ZornFire
Oracle
Злыдни
Ex AND Project
 
333 / 76 (3) ++++
Регистрация: 12.01.2009
Адрес: Москва
Можно красить через свойства таблицы каждое отдельное поле, года 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  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
ZornFire, так ведь можно покрасить строки грид или какого-нибудь другого контрола, а не определенной строки в дереве. или я что-то не понимаю.
Старый 15.01.2013, 11:07   #14  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от 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.
речь идет не про таблицу (grid), а про дерево.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 15.01.2013, 11:38   #15  
ZornFire is offline
ZornFire
MS Dynamics AX 2012 R3
Аватар для ZornFire
Oracle
Злыдни
Ex AND Project
 
333 / 76 (3) ++++
Регистрация: 12.01.2009
Адрес: Москва
Цитата:
Сообщение от lev Посмотреть сообщение
речь идет не про таблицу (grid), а про дерево.
Видимо, я спешил и отвлекался, не уловив сути, возможно мой пример тоже кому нибудь пригодиться.
__________________
"Человек человеку волк, а зомби зомби зомби." (с)
С Уважением, Алексей Кабанов
Старый 16.01.2013, 10:36   #16  
LeonDerCom is offline
LeonDerCom
Участник
 
45 / 20 (1) +++
Регистрация: 08.10.2012
Цитата:
Сообщение от ZornFire Посмотреть сообщение
Примеры, которые помню, кодов цветов:
WindowBackGround - стандартный цвет аксапты;
0,0,0 - чёрный;
255,255,255 - белый;
252,192,192 - розовый;
204,255,204 - зелёный.
---
Как посмотреть прописанный цвет:
От формы окна перейти в настройки, от имени поля нажать Правка, развернуть таблицу, развернуть методы, открыть DisplayOptions.
Цвет можно узнать в любом графическом редакторе. Например, Paint - Изменение палитры - определение цвета. Выбрать цвет и посмотреть пропорции RGB и наоборот.
Старый 17.01.2013, 13:20   #17  
ZornFire is offline
ZornFire
MS Dynamics AX 2012 R3
Аватар для ZornFire
Oracle
Злыдни
Ex AND Project
 
333 / 76 (3) ++++
Регистрация: 12.01.2009
Адрес: Москва
Цитата:
Сообщение от LeonDerCom Посмотреть сообщение
Цвет можно узнать в любом графическом редакторе. Например, Paint - Изменение палитры - определение цвета. Выбрать цвет и посмотреть пропорции RGB и наоборот.
Можно и так, кому как удобнее.
__________________
"Человек человеку волк, а зомби зомби зомби." (с)
С Уважением, Алексей Кабанов
Теги
color, tree, дерево

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
"Инвентаризационный код" в группах инвентаризации и создание строк инвентаризации lev DAX: Функционал 0 11.10.2011 09:49
Путь от узла дерева к корню Dronas DAX: Программирование 2 29.09.2008 08:44
Тормозит копирование строк в буфер обмена ivas DAX: Программирование 20 21.08.2007 15:05
Предельное количество строк в Report Владимир Максимов DAX: Программирование 1 22.12.2005 15:02
БАГ: копирование строк накладных в новый заказ Антон Солдатов DAX: Функционал 2 03.12.2004 09:02

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:06.