![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несколько картинок в DBGrid [D7, IB6.x]
Vladislav © (2003-03-21 12:22:00)Необходимо в одном столбце DBGrid вывести несколько картинок. Как?
Johnmen (2003-03-21 14:02:00) [1]для полной корректности
if (Column.Field<>nil) and (LowerCase(Column.FieldName)="status") then
Balu (2003-03-21 13:54:00) [2]Если нужно "поиграться" с несколькими картинками, то и "играйся" с разными облястями ячейки (выводи два и более раз в соответствующую область по одной картинке).
Balu (2003-03-21 13:52:00) [3]Я делаю так:
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;
Vladislav (2003-03-21 13:23:00) [4]точно
Clickmaker (2003-03-21 13:03:00) [5]ну примерно так наверно
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 12:56:00) [6]Да, в одной. Не работал с картинками. Как несколько объеденить в одну?
Clickmaker (2003-03-21 12:48:00) [7]Имеешь в виду в одной ячейке? Стандартно никак, OnDrawColumnCell и рисуй себе на здоровье сколько угодно картинок