![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как можно определить параметр ячейки 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]
> Где и как можно считать текущий цвет ячейки?
>
Наверное там, где хранишь. Ведь в файл ты что-то кодируешь?