Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.31;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-100824
McSimm2
2003-07-17 15:46
2003.07.31
DrawText


3-100626
viktor
2003-07-07 13:35
2003.07.31
cat := CreateOleObject( ADOX.Catalog )


1-100701
PrettyFly
2003-07-18 13:03
2003.07.31
Глюк в компонентике?


6-100864
dito
2003-05-26 00:05
2003.07.31
Как нажать програмно PageDown в WebBrowser?


3-100609
captive
2003-07-09 17:44
2003.07.31
Обработка событий InterBase