|
ПРОЕКТЫ ДАННОЙ КАТЕГОРИИ Написать за пару часов программу Интерфейсный юнит и класс Delphi для граф. биб-ки Почтовик и многопоточный мониторинг файлов Требуется помощь в подключении библиотеки miracl Все проекты данной категории - 27 TOP 10 ФРИЛАНСЕРОВ Разработка прикладного ПО
|
Алгоритм рисования кнопок на с#Разработка прикладного ПО, Прочее
[Отредактировано: 04.09.2008 в 16:12] Есть дерево объектов,т.е. каждый єлемент в дереве – объект(id,title). Структура показаны на приатаченой картинке. Нужно разместить кнопки на шахматной доске для каждого элемента в определенной последовательности. Изначально есть масив рутовых элементов (уровень 0):array{Node1,Node2,Node3..} Есть функция в которую передается каждый рутовый элемент (например Node1 или Node2 ...). В этой функции надо рисовать кнопки и если у этого элемента есть дети (возвращаются все дети следуещего уровня в виде масива) – снова ее вызывать и рисовать дальше. Алгоритм рисования: Сначала рисуется самая первая кнопка в верхнем левом углу для объекта c уровня 0 Node1 с текстом=title (Node1) и tag=id. Вокруг Node1 распологаются чайлды 1 уровня (Node11,Node12,Node13) начиная с верхней точки по часовой стрелке. Потом надо распологать чайлды 2 уровня вокруг чайлдов 1 уровня сверху вниз по часовой стрелке и т.д. Расположение чайлдов идет по уровням а не отношению чайлд-парент, т.е. 3 уровень включает чайлды элементов Node12 и Node13. Также надо раскрашивать кнопки следующим образом: 1 рутовый элемент в массиве – красный цвет 2 рутовый эл-т – синий 3 рутовый – зеленый 4 рутовы – желтый следующий начинается снова с красного. Увеличение уровня на 1 вызывает изменений цвета на 10% светлее. т.е. Node1 (уровень0) имеет синий (#000099), node11,nod12,node13 (уровень1) будут (#0000cc), node12_1,node12_2,node12_3,node13_1 ((уровень2)) будут (#0000ff) Результат проекта – простое приложение (винформа) которая отображает кнопки по данному алгоритму. Если что не ясно – могу уточнить.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||