Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.09;
Скачать: CL | DM;

Вниз

Двумерный ImageList   Найти похожие ветки 

 
Сатир ©   (2002-11-28 21:55) [0]

Подкиньте пару идей для реализации сабжа на основе методов и свойств класса TImageList. Создавать наследника от TCustomImageList не предлагать. Долго реализовывать, да и не охота возиться с остальными административными заморочками, типа регистрации и проч.
Вообщем, вопрос к тем, кто может сталкивался с такой проблеммной, когда одного измерения для доступа у коллеции картинок не достаточно, например, для двумерного стрингрида проще вытягивание картинок для каждой ячейки проще реализовать из сабже, чем разбивать линейный список на измерения и высчитывать каждый раз порядковый номер, а если список динамичный?
Отвечать, плз, по существу.


 
TTCustomDelphiMaster ©   (2002-11-28 22:04) [1]

array of TImageList


 
ЮЮ ©   (2002-11-29 03:50) [2]

var
ImageIndexes: array of array of Integer;

//определить в начале программы
SetLength(ImageIndexes,2);
SetLength(ImageIndexes[0],1);
ImageIndexes[0][0] := 5;
SetLength(ImageIndexes[1],2);
ImageIndexes[1][0] := 3;
ImageIndexes[1][1] := 4;

И ничего вычислять уже не надо будет
image_index := ImageIndexes[row_type, col_number],
естественно в коде ты должен знать, какой значок тебе нужен






 
Сатир ©   (2002-11-29 14:50) [3]

2TTCustomDelphiMaster © (28.11.02 22:04)
спасибо, но это не годится.
Во-первых, не удобно каждый раз инициализировать каждый заново созданный элемент .
Во-вторых, хотелось бы присваивать свойствам, которые требуют коллекцию картинок, один объект и то, на стадии разработки. А вот его наполнение и перемещение, на стадии выполнения.

2ЮЮ © (29.11.02 03:50)
это уже теплее, но вот проблемма:
//определить в начале программы
Я же не знаю, сколько будет заранее столбцов и строчек, к тому же необходимо учесть поддержку метода TImageList.Replace для редактирования картинок. А следовательно, нужно будет реализовывать обратный переход от плоской до линейной индексации.:(



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

Текущий архив: 2002.12.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
7-28307
Senka
2002-10-04 15:58
2002.12.09
Как выполнить учет печати на принтере в Delphi6


14-28247
Mist
2002-11-18 12:37
2002.12.09
Reset


1-27932
lscomp
2002-11-28 02:08
2002.12.09
Пустая строка


1-28112
DmitriyN
2002-11-27 17:15
2002.12.09
Как в окне MDIParent сделать аналог виндовой панели задач?


1-27958
Talvin
2002-11-23 17:54
2002.12.09
Олимпиада по информатике 11-кл