Вниз
Скачать: 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.043 c
3-1121605921
Jet
2005-07-17 17:12
2005.08.28
Access - объединение двух баз


3-1121775517
BlackWhite
2005-07-19 16:18
2005.08.28
Разнотипные поля в таблице = ОШИБКА


4-1117686064
Sir
2005-06-02 08:21
2005.08.28
Серийный номер видеокарты & материнской платы


1-1123144619
Starcom
2005-08-04 12:36
2005.08.28
Есть кусок кода, как оптимизировать, что не так, где дурной тон?


1-1123404272
Ксардас
2005-08-07 12:44
2005.08.28
Как получить номер верхней видной строки в РичЭдите?




   Наверх