Показать сообщение отдельно
Старый 02.04.2006, 14:44   #3   
Кэп Улитка
 
Аватар для Yandex
 
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 46

Yandex вне форума Не в сети
Спроси лучше тут
http://forum.sources.ru/index.php?showforum=9
Или скачай FAQ от сюда - www.drbk.ru (~10мб)
Ниже оттуда ответ на 2-ой вопрос.

по поводу 1-го - тупо грузить jpg и уменьшать их в pазмеpe - это коpяво , т.к. фоpмат jpg определяет хранение превью [миникопии изображения] в самом файле - работать будет намного быстрее. Как сделать конкретно понятия не имею - особо не заморачивался, мож есть какой компонент - глянь на torry.net
========================================
Как поместить графическое изображение в TDBGrid
Использование свойства Canvas компонента TDBGrid в методе OnDrawColumnCell позволяет не только выводить в ячейке текст методом TextOut, но и размещать в ячейках графические изображения. В этом случае используется метод Draw свойства Canvas.

Модифицируем наш пример, добавив в форму компонент TImageList и поместив в него несколько изображений.

Модифицируем код нашего приложения:
Соответствующий код для Delphi имеет вид:

procedure TForm1.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
Im1: TBitmap;
begin
Im1 := TBitmap.Create;
if Column.FieldName = 'VenueNo' then
with DBGrid1.Canvas do
begin
Brush.Color := clWhite;
FillRect(Rect);
if Table.FieldByName('VanueNo').Value = 1 then
ImageList1.GetBitmap(0, Im1)
else
ImageList1.GetBitmap(2, Im1);
Draw(round((Rect.Left + Rect.Right - Im1.Width) / 2), Rect.Top, Im1);
end;
end;

Теперь в TDBGrid в колонке VenueNo находятся графические изображения.