Форум: "Базы";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];
ВнизJpeg в DBGrid-e Найти похожие ветки
← →
Dimedrol (2002-12-27 15:15) [0]Коллеги, а как отобразить сабж ?
У меня в базе - есть колоночка БЛОБ с Jpeg-ами,
так вот, как результат поиска хотелось бы их
и показывать.
У меня есть ExpressQuantumGrid. Там это можно делать,
а вот еще как-то, "фриварно" что-ли... а ?! ;-)
← →
Dimedrol (2003-01-01 23:11) [1]Что, никто подобное не делал ? :-(
← →
TTCustomDelphiMaster (2003-01-02 09:09) [2]
> Коллеги, а как отобразить сабж ?
Где отобразить? TDBImage чем не подходит?
← →
Prooksius (2003-01-02 11:07) [3]Это клиент-серверное приложение? Тогда ты представляешь, сколько тебе по сетке придется тянуть??? Плохо это...
OnDrawColumnCell - и рисуй там что хочешь.
← →
Dimedrol (2003-01-02 14:49) [4]2 TTCustomDelphiMaster
Мну нужно отобразить в DBGrid-e!
То есть рядом с текстовыми данными, соседняя
клеточка - картинка!
2 Prooksius
Да, это - клиент-серверное приложение.
Прекрасно тебя понимаю, но ТАМ у меня лежать картинки
очень небольшие - максимум - ок. 8 кб.
На счет "OnDrawColumnCell", хотелось бы примерчик,
если есть с Jpeg-ом, ну или хотябы с BMP.
← →
ak (2003-01-02 15:55) [5]2 Dimedrol.
Здесь исчерпывающий ответ на твой вопрос:
http://www.delphikingdom.com/helloworld/dbgridcolor.htm
← →
Prooksius (2003-01-02 16:50) [6]В дополнение, возьми DBGridEh - там высота строк настраивается (чтобы картинка-то была нормальная).
И вообще удобный грид.
http://www.farpost.com/personal/dmitryb/RUS/downloads.htm
← →
Dimedrol (2003-01-02 18:06) [7]Нуууу... ;-)
Спасибо всем, скорее за наводящие вопросы! ;-)
Вроде работает.
Вот код с моими комментами :
procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var intX,intY:integer;
begin
if DataCol=3 then //поле где лежит JPEG
begin
if Q1.Fields[3].IsBlob then //проверка никогда не помешает ;-)
begin
TDBGridEh(Sender).Canvas.FillRect(rect);
//JPG -> JPG:=TJpegImage.Create
JPG.Assign(TBLOBField(Q1.Fields[3]));
intX:=((rect.right - rect.left) div 2)-(JPG.width div 2);
intY:=((rect.bottom - rect.top) div 2)-(JPG.height div 2);
TDBGridEh(Sender).Canvas.Draw(rect.left + intX, rect.top + intY, JPG);
end;
end
else
TDBGridEh(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c