Вниз
Скачать: CL | DM;

динамический массив в gride   Найти похожие ветки 

 
New_User   (2004-09-01 19:09) [0]

Привет всем!
Создаю компонент MyGrid на основе drawgrid использую в нем динамический массив который хранит информацию о характеристике каждой ячейки, как и где его нужно оглавлять и изменять его размер правильно, а то я видимо что-то делаю не так

(размер в начале задаю в create, а дальше увеличиваю число строк и пытаюсь изменить массив в процедуре drawcell но безрезультатно, а после закрытия проги выбрасывает ошибку, причем я пытаюсь записать данные в несуществующие ячейки но ошибку не выдает, а только после выхода  )


 
Юрий Зотов ©   (2004-09-02 09:53) [1]

DrawCell - это отрисовка ячеек (как заполненных, так и пустых). А Ваш массив - это хранение информации. Какое отношение имеет одно к другому? Никакого. Так зачем же завязывать изменение размеров массива на метод отрисовки?

Смотрим исходники. Видим, что у DrawGrid есть свойства RowCount и ColCount, а у них есть методы записи SetRowCount и SetColCount. Каждый из этих методов вызывает метод ChangeSize, тот вызывает внутреннюю процедуру DoChange, а из нее вызывается динамический метод SizeChanged. Таким образом, если Вы в своем потомке заместите метод SizeChanged, то он будет автоматически вызываться при любом изменении количества строк или столбцов в таблице. Вот там и пишите установку размеров своего массива - и тогда Ваш массив всегда будет четко и автоматически синхронизирован с массивом самих ячеек.

И не нужны никакие начальные размеры в Create, и уж тем более никакие DrawCell.


 
New_User   (2004-09-02 19:38) [2]

Спасибо за подробный ответ - буду пробывать !



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
14-1123066982
Kerk
2005-08-03 15:03
2005.08.28
Где можно IRC-бота захостить?


1-1123157268
ZSergey
2005-08-04 16:07
2005.08.28
Как правильно искать файлы ?


4-1121315097
unregister_256
2005-07-14 08:24
2005.08.28
ShellAbout()


9-1115369239
Slavikk
2005-05-06 12:47
2005.08.28
Lod в GLScene


1-1123237260
officeman
2005-08-05 14:21
2005.08.28
бесконечная запись в файл




   Наверх