Форум: "Начинающим";
Текущий архив: 2015.12.13;
Скачать: [xml.tar.bz2];
ВнизИсчезает картинка Найти похожие ветки
← →
Imagination (2014-06-23 13:31) [0]Привет всем!
Написал таки код! теперь проблема в том, что добавляю первую картинку, все ок, вторую,все ок, НО! при прокрутке stringgrida пропадает первая картинка, а вторая остается.
Что делать?
Добавлено через 4 минуты
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
B:=TBitmap.Create
else Exit;
B.LoadFromFile(OpenPictureDialog1.FileName);
x:=StringGrid1.Col;
y:=StringGrid1.Row;
Canvas.StretchDraw(StringGrid1.CellRect(x,y),B);
StringGrid1.SetFocus;
end;
procedure TForm1.StringGrid1OnDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (b<> nil) and (ACol=x) and (ARow=y) then
StringGrid1.Canvas.StretchDraw(Rect,B);
end;
← →
KilkennyCat © (2014-06-23 15:00) [1]
> StringGrid1OnDrawCell
тут отрисовка только одной картинки
← →
KilkennyCat © (2014-06-23 15:18) [2]Создай структуру, типа
col:integer;
row: integer;
bmp:Tbitmap;
объяви массив этой структуры
и будет что-то типа:
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
var e : boolean;
begin
if OpenPictureDialog1.Execute then begin
i := 0;
while (i < Pict.length) do begin
e := Pict[i].col = StringGrid1.Col) and (Pict[i].row = StringGrid1.Row);
if e then break;
inc(i);
end;
if not e then begin
i := Pict.length + 1;
SetLength(Pict, i);
Pict[i].bmp.Create;
end;
Pict[i-1].bmp.LoadFromFile(OpenPictureDialog1.FileName) ;
StringGrid1.repaint;
end;
таким образом получим массив картинок с координатами ячеек.
ну а при отрисовке проверяем координаты и рисуем нужную.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2015.12.13;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.002 c