Проблема с созданием таблицы
Мне надо создать таблицу (типа StringGrid или DrawGrid) и в первых двух столбцах будет дата и время, а вот в третий надо загрузить bmp картинку. Так вот каким образом туда картинку загрузить я не понимаю. Рядом рисовать ее крайне неудобно, так как пользователь будет еще удалять и добавлять строки. (Добаляться они еще и автоматически будут).
Цитата:
Originally posted by AndySPb
а вот в третий надо загрузить bmp картинку.
а вот в третий надо загрузить bmp картинку.
Один из вариантов это через событие DrawCell компонента StringGrid
например :
if (ACol == 2 && ARow == 1)
{
StringGrid->Canvas->CopyRect...см. справку, в билдере есть пример;
}
:)
Дык в канву то можно загрузить, но вот как его к определенной ячейке привязать?
Все, понял. Тока теперь другая проблема, а как рисунок отмасштабировать? Чтоб он вписывался в ячейку
Цитата:
Originally posted by AndySPb
Все, понял. Тока теперь другая проблема, а как рисунок отмасштабировать? Чтоб он вписывался в ячейку
Все, понял. Тока теперь другая проблема, а как рисунок отмасштабировать? Чтоб он вписывался в ячейку
Лучше сделать заготовки под нужные размеры, а так
если масштабировать или ещё что-то мудрить, то можно получить картинку Пикассо.
:)
Цитата:
Originally posted by Non_prog
Все, понял. Тока теперь другая проблема, а как рисунок отмасштабировать? Чтоб он вписывался в ячейку
Все, понял. Тока теперь другая проблема, а как рисунок отмасштабировать? Чтоб он вписывался в ячейку
Пример:
TDrawGrid *dg;
Graphics::TBitmap *bmp;
bmp->LoadFromFile("test.bmp");
void __fastcall OnDrawCell(TObject *Sender, int ACol,int ARow, TRect &Rect, TGridDrawState State)
{
if (ACol == 2 && ARow == 1)
{
dg->Canvas->StretchDraw(Rect,bmp);
}
}
Цитата:
Originally posted by ddnh_bc
Пример:
TDrawGrid *dg;
Graphics::TBitmap *bmp;
bmp->LoadFromFile("test.bmp");
void __fastcall OnDrawCell(TObject *Sender, int ACol,int ARow, TRect &Rect, TGridDrawState State)
{
if (ACol == 2 && ARow == 1)
{
dg->Canvas->StretchDraw(Rect,bmp);
}
}
Пример:
TDrawGrid *dg;
Graphics::TBitmap *bmp;
bmp->LoadFromFile("test.bmp");
void __fastcall OnDrawCell(TObject *Sender, int ACol,int ARow, TRect &Rect, TGridDrawState State)
{
if (ACol == 2 && ARow == 1)
{
dg->Canvas->StretchDraw(Rect,bmp);
}
}
Скажите, а DrawCell единсвенный способ заполнить таблицу DrawGrid?
или может быть будет еще какой-нибудь способ... плиз... оч нужно)