Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
ВнизРисование в ячейке DrawGrid а Найти похожие ветки
← →
Checist [root] (2003-07-16 16:52) [0]Пытаюся вставить в ячейку DrawGrid1 картинку из Image1, используя промежуточную переменную Bitmap (TBitmap).
procedure TFormMain.DGInserting;
var
i, DGCol, DGRow: integer;
begin
DGCol := 0;
DGRow := 0;
For i := 0 to (FindComponent("ListBox" + IntToStr(PageControl1.ActivePageIndex + 1)) as TListBox).Items.Count - 1 do
begin
Bitmap := TBitmap.Create;
Bitmap.Width := Round(Min(Image1.Picture.Width, DrawGrid1.DefaultColWidth));
Bitmap.Height := Round(Min(Image1.Picture.Width, DrawGrid1.DefaultRowHeight));
Bitmap.Canvas.StretchDraw(Rect(0, 0, DrawGrid1.DefaultColWidth, DrawGrid1.DefaultRowHeight),Image1.Picture.Graphic);
if Image1.Picture.Width > Image1.Picture.Height then Bitmap.Height := Trunc(Bitmap.Height/(Width+1)*(Height+1))
else Bitmap.Width := Trunc(Bitmap.Width*(Width+1)/(Height+1));
DrawGrid1.Canvas.CopyRect(DrawGrid1.CellRect(DGCol, DGRow), Bitmap.Canvas,Rect
(0, 0, Bitmap.Height, Bitmap.Width));
DrawGrid1.Repaint;
Bitmap.FreeImage;
if DGCol = 4 then
begin
DGCol := 0;
DGRow := DGRow + 1;
end
else DGCol := DGCol + 1;
end;
end;
Но не выходит. Проверял, переменная Bitmap не содержит текущего по i рисунка.
После операции Bitmap.Canvas.StretchDraw...
← →
Fenik (2003-07-16 17:17) [1]Не стоит решать задачу через мурзинку..
Провер почту.
← →
Checist [root] (2003-07-16 17:23) [2]Хм, только что проверил, сейчас вышлю ответ.
← →
Checist [root] (2003-07-16 17:28) [3]Выслал !!!
← →
Checist [root] (2003-07-16 17:37) [4]Ну, а все таки. Почему не пашет?
← →
ЮЮ (2003-07-17 03:51) [5]>DrawGrid1.Repaint;
И после твоего кода выполняется правильный код рисования, которому пофиг твои манипуляции с канвасом DrawGrid-а. Всё рисование надо писать в обработчике OnDrawCell DrawGrid-а и нигде более.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c