Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

динамический массив в 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 вся ветка

Форум: "Компоненты";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.035 c
14-1123088662
Serg1981
2005-08-03 21:04
2005.08.28
Индексирование базы данных


5-1095560501
Matveyev
2004-09-19 06:21
2005.08.28
Реакция на компиляцию


4-1121169826
Piter
2005-07-12 16:03
2005.08.28
Эмуляция нажатий клавиш


6-1116090998
Valera
2005-05-14 21:16
2005.08.28
IcmpClient


4-1118300808
g-l-u-k
2005-06-09 11:06
2005.08.28
Global Hook





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский