Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

прорисовать bmp в StringGrid в строго определенном месте


rusteam ©   (2005-09-25 20:43:00) 

Нужно прорисовать bmp в StringGrid в строго определенном месте , например в StringGrid1.Cells[3,2]. Пытаюсь сделать это вот так :

 ImageList1.Draw(StringGrid1.Canvas, Rect.Left, Rect.Top,0);
 StringGrid1.Canvas.Font.Color :=clBlue;
 StringGrid1.Canvas.TextOut(Rect.Left+ImageList1.Width ,Rect.Top,StringGrid1.Cells[3,2]);

Но к сожалению в StringGrid выводится картинка на весь компонент.


Leonid Troyanovsky   (2005-09-26 09:53:00) [1]


> rusteam ©   (25.09.05 20:43)  
> Нужно прорисовать bmp в StringGrid в строго определенном
> месте , например в StringGrid1.Cells[3,2]. Пытаюсь сделать



Для вывода в строго определенном месте, оное следует строго определить.
Например, задать требуемую картинку StringGrid1.Objects[3,2].

Тогда, в OndrawCell:


  with Sender as TStringGrid do
    if Assigned(Objects[ACol, ARow]) then
      Canvas.Draw(Rect.Left, Rect.Top, TBitmap(Objects[ACol, ARow]));


--
Regards, LVT.


Virgo_Style   (2005-09-25 21:55:00) [2]

Вероятно, размер картинки больше, чем Rect.

А если эту картинку вытащить в отдельный Bitmap с помощью GetBitmap, а потом уже вывести с помощью CopyRect (если не ошибаюсь, он масштабирует картинку)?


Наверх

Титульная страница Поиск, карта сайта Написать письмо