Всем привет. Поясню суть задачи:
Есть один String Grid N*N стр/стлбцов. Нужно организовать передачу картинки в каждую ячейку данных одну за одной так, чтобы потом при двойном щелчке на ячейку с картинкой, ячейка её определяла(Например шоу мессаджем)/отличала от других. И ещё такая важная вещь: нужно сделать так чтобы картинки можно было передавать поочерёдно по одной и чтобы они следовали бы друг за другом.
Чтобы проще понять надо сделать что то вроде инвентаря в рпг играх. Если есть какие-то другие компоненты упрощающие сие действие, подскажите пожалуйста. Заранее благодарю. Добавлено (22.05.2013, 16:09)
---------------------------------------------
Ну что никаких идей?
Вот мой вариант с флажками, но он не отрисовывает картинки друг за другом. Нужен менее геморный и правильный вариант.
Код
procedure TLocation1_tower.inventoryDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
if inv1=1 then
begin
if ((ACol=0) and (ARow=0))
then
begin
apple := TBitmap.Create; //Создаём Bitmap
apple.LoadFromFile ('data/3285gtb45g/apple.bmp'); //загружаем в него файл
inventory.Canvas.Draw (Rect.Left, Rect.Top, apple); //Отрисовываем
apple.Free; //Освобождаем память
end;
end;
if inv1=2 then
if inv2>=1 then
begin
if ((ACol=0) and (ARow=0))
then
begin
apple := TBitmap.Create; //Создаём Bitmap
apple.LoadFromFile ('data/3285gtb45g/apple_korz.bmp'); //загружаем в него файл
inventory.Canvas.Draw (Rect.Left, Rect.Top, apple); //Отрисовываем
apple.Free; //Освобождаем память
end;
end
else
if ((ACol=0) and (ARow=0))
then
begin
apple := TBitmap.Create; //Создаём Bitmap
apple.LoadFromFile ('data/3285gtb45g/none.bmp'); //загружаем в него файл
inventory.Canvas.Draw (Rect.Left, Rect.Top, apple); //Отрисовываем
apple.Free; //Освобождаем память
end;
end;