![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 32
|
![]()
Пишу табличное представление данных (grid), с этим все получилось. Хотелось бы шапку с заголовком данных нарисовать для всего этого дела, но не простую, а золотую
![]() Заранее спасибо, уважаемые джентельмены. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Здесь проблема скорее не в том как хранить, а как все это описывать.
Предлагаю такую схему. На шапку наложена координатная сетка. Не важно в каких единицах. У меня это делается в символах, а потом приведение к координатам grid. Для каждой ячейки хранится область, которую она занимает в координатах сетки. Сами ячейки в простом списке. А теперь описание. Используются три метода - простое добавление, добавление вниз, добавление вправо. Добавляем первую ячейку add(10) // указываем только ширину // получили ----1---- добавляем 2-ю add(10) // ----1--- ---2---- добавляем ячейку вниз от последней addDown(10) // ---1---- ---2---- // -------- ---3---- После такого добавления корректируется высота 1 ячейки и ширина 2-й Добавляем вправо от последней addRight(10) // ----1---- ----2------------ // --------- ---3--- ----4---- и снова корректируется ширина 2-й Добавляем новую колонку add(10) // -----1----- ----2--------- -----5------ // ----------- ---3--- ---4-- Высота новой ячейки корректируется с учетом уже вставленных. Этими тремя методами можно описать шапку любой сложности. Ячейки покрывают всю область шапки и для каждой есть координаты прямоугольника. А дальше все просто. Берем прямоугольник, который нужно отрисовать, смотрим какие ячейки в него попадают и вызываем их методы Draw. Последний раз редактировалось alexBlack; 08.02.2008 в 09:48. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 32
|
![]()
Не слукавлю, если скажу - замечательная идея! Спасибо.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Шапка таблицы | Aiorosu | БД в Delphi | 10 | 24.03.2009 10:24 |
Нестандартная работа с COM портом | Alex_C | Win Api | 2 | 22.07.2008 02:34 |
Нестандартная задача с цветами ячеек ДБГрид! | Abbatik | БД в Delphi | 2 | 02.02.2008 18:02 |
Нестандартная форма | Лубышев | Общие вопросы Delphi | 7 | 28.01.2008 20:33 |
Перенос содержимого грида в активную базу | SpiDer87 | БД в Delphi | 13 | 24.12.2007 11:30 |