Вниз
Скачать: CL | DM;

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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-100825
афвуд
2003-07-16 18:51
2003.07.31
Хочу чтобы TImage был выше всех на форме.


3-100571
Вован
2003-07-05 17:50
2003.07.31
Как создавать lookup поля в run-time?


1-100670
Salvator
2003-07-17 22:38
2003.07.31
Работа с Dll


14-100951
antonyan
2003-07-15 14:23
2003.07.31
Контрольная сумма файла


1-100730
Alex_vc
2003-07-19 12:33
2003.07.31
Работа с Excel..




   Наверх