Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2008, 16:47   #1
Влажимир
Пользователь
 
Регистрация: 03.09.2007
Сообщений: 14
По умолчанию Как в ячейке Grid вывести картинку?

Как в ячейке Grid (StringGrid или DrawGrid) вывести картинку?
Влажимир вне форума Ответить с цитированием
Старый 07.04.2008, 17:35   #2
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Короче говоря в обработчике OnDrawCell можно рисовать на канве StringGrid'a
Код:
var
  Form1: TForm1;
  B:TBitmap;
  x, y:Cardinal;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
    B:=TBitmap.Create
    else Exit;
  B.LoadFromFile(OpenPictureDialog1.FileName);
  x:=StringGrid1.Col;
  y:=StringGrid1.Row;
  Canvas.StretchDraw(StringGrid1.CellRect(x,y),B);
  StringGrid1.SetFocus;
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if (b<> nil)  and (ACol=x) and (ARow=Y) then
  StringGrid1.Canvas.StretchDraw(Rect,B);
end;

end.
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 18.07.2008, 16:39   #3
Albert2008
Пользователь
 
Регистрация: 17.07.2008
Сообщений: 26
По умолчанию

1. Какие компоненты нужно положить начисутю форму (я так понял, что только Image, StringGrid и кнопку).
2. Куда нужно скопиовать приведенный листинг ? (в OnDrawCell в StringGrid или 2 раза щёлкнув на кнопку ?)
3. КАК скопировать этот листинг без столбца с цыфрами с лева ?
Albert2008 вне форума Ответить с цитированием
Старый 18.07.2008, 17:50   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

1. TStringGrid, TOpenPictureDialog, TButton
2. Почитайте литературу, что такое обработчик события и как их создавать.
3. В вверхней строке кода кнопочка "view plain"

По второму вопросу: чтобы заработало нужно скопировать этот код заменив им, тот что есть, начиная с var и заканчивая end. Компоненты должны быть уже на форме. Затем в инс. объектов на вкладке Events щелкните дважды в поле OnClick у кнопки, и в поле OnDrawCell у стринггрида. Но литературу все таки почитайте.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Grid nimf Общие вопросы Delphi 2 22.04.2008 13:16
как создать grid? romets Win Api 12 24.01.2008 22:36
Потеря данных в Grid chingiz БД в Delphi 8 29.07.2007 00:17
Кто подскажет про (Grid) chingiz Помощь студентам 5 23.05.2007 17:48
Help!Grid и Edit Дамир БД в Delphi 1 16.02.2007 02:05