Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как можно определить параметр ячейки DrawGrid? [D5, WinXP]


MJShvedov ©   (2006-12-06 18:33:00) 

Такой вопрос. Нужно сделать программу, которая напоминает Image Editor. Есть DrawGrid, ячейки которого пользователь устанавливает в одно из доступных положений цвета. Потом это все кодируется в файл определенного формата.
Все в принципе понятно как сделать, за исключением определения параметра ячейки (например clRed - 1, clBlack - 0). Где и как можно считать текущий цвет ячейки?


ЮЮ   (2006-12-07 11:23:00) [1]

матрицу этих параметров- ключевое слово.
Её надо иметь.
Из неё брать значения в OnDrawCell
В ней изменять значения при назначении нового и вызыввать InvalidateCell для переписовки значения
Её кодировать при сохранении
В неё раскодировать при открытии


Сергей М.   (2006-12-07 09:39:00) [2]


> Переписывать массив при каждом изменении цвета довольно
> гемморойно - он содержит около 2500 элементов.
>


Зачем переписывать весьмассив ?

Если пользователем изменяется цвет ячейки [i,j], то изменяется только соответствующий эл-т массива [i,j]

Записать же массив размером 2.5к в файл при завершении программы и прочитать из файла в массив при старте программы не представляет никаккой сложности - это полдюжины строк кода тривиального содержания.


> как получить значение цвета текущей ячейки DrawGrid?


Куда сохранил значение цвета, оттуда и получай.

Если это у тебя массив, то из соотв. элемента массива и читай это значение.


MJShvedov   (2006-12-07 08:42:00) [3]

В файл нужно записать как раз закодированную матрицу этих параметров. Переписывать массив при каждом изменении цвета довольно гемморойно - он содержит около 2500 элементов.

Вопрос можно поставить более узко: как получить значение цвета текущей ячейки DrawGrid?


ЮЮ   (2006-12-07 08:34:00) [4]


> Где и как можно считать текущий цвет ячейки?
>

Наверное там, где хранишь. Ведь в файл ты что-то кодируешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо