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

Несколько картинок в DBGrid   Найти похожие ветки 

← →
Vladislav ©   (2003-03-21 12:22) [0]

Необходимо в одном столбце DBGrid вывести несколько картинок. Как?


← →
Clickmaker ©   (2003-03-21 12:48) [1]

Имеешь в виду в одной ячейке? Стандартно никак, OnDrawColumnCell и рисуй себе на здоровье сколько угодно картинок


← →
Vladislav ©   (2003-03-21 12:56) [2]

Да, в одной. Не работал с картинками. Как несколько объеденить в одну?


← →
Clickmaker ©   (2003-03-21 13:03) [3]

ну примерно так наверно
Bitmap := TBitmap.Create;
y := 0;
for i := 0 to PictureCount do begin
Bitmap.Canvas.Draw(0, y, Pictures[i]);
Inc(y, Pictures[i].Height);
end;


← →
Vladislav ©   (2003-03-21 13:23) [4]

точно


← →
Balu ©   (2003-03-21 13:52) [5]

Я делаю так:
procedure TForm1.dbgInformDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
Var
LL: Integer;
begin
LL := (Column.Width-14) div 2;
if Column.FieldName = "Status" then begin
if ((Sender as TDBGrid).DataSource.DataSet.FieldByName("Status").Value = "Y") then
ImageList1.Draw(TDBGrid(Sender).Canvas,Rect.Left+LL,Rect.Top, 1)
else
ImageList1.Draw(TDBGrid(Sender).Canvas,Rect.Left+LL,Rect.Top, 0);
end;
end;


← →
Balu ©   (2003-03-21 13:54) [6]

Если нужно "поиграться" с несколькими картинками, то и "играйся" с разными облястями ячейки (выводи два и более раз в соответствующую область по одной картинке).


← →
Johnmen ©   (2003-03-21 14:02) [7]

для полной корректности
if (Column.Field<>nil) and (LowerCase(Column.FieldName)="status") then



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.011 c
1-30332
lory
2003-03-31 14:42
2003.04.10
многострочный текст в ячейке StringGrida


3-30219
Jaxtor
2003-03-24 11:40
2003.04.10
Вывод значений в Excel


14-30573
Flint
2003-03-25 10:15
2003.04.10
Как запустить ехе на другой машине ??


14-30572
iNew
2003-03-25 03:39
2003.04.10
Прикольный сайт http://y.20q.net:8095/ Прога угадывает загаданное


1-30400
LyzD
2003-03-30 16:15
2003.04.10
Как можно управлять окном имея его заголовок???




   Наверх