Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Bitmap в StringGrid ячейке

Delphi , Компоненты и Классы , TStringGrid и TDrawGrid

Bitmap в StringGrid ячейке

В обработчике события OnDrawCell элемента StringGrid поместите следующий код:


with (Sender as TStringGrid) do
  with Canvas do
  begin
    {...}
    Draw(Rect.Left, Rect.Top, Image1.Picture.Graphic);
    {...}
  end;

Используйте метод Draw() или StretchDraw() класса TCanvas. Image1 - это TImage с предварительно загруженным в него bitmap-ом.

Here is the translation of the code into Russian:

Процедура TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin с TStringGrid( Sender ) do begin с Canvas do begin Brush.Style := bsSolid; Brush.Color := clWhite; FillRect(Rect); Draw(Rect.Left, Rect.Top, Image1.Picture.Graphic); end; end; end;

Объяснение кода:

  • StringGrid1DrawCell - обработчик события для события OnDrawCell компонента TStringGrid.
  • Обработчик вызывается при необходимости рисования ячейки в таблице. Он принимает четыре параметра: Sender, который является компонентом TStringGrid, который вызвал событие; ACol и ARow, которые указывают номер столбца и строки ячейки, которая рисуется; Rect, который является прямоугольником, определяющим границы ячейки; и State, который specifies состояние ячейки (например, выбранная или нет).
  • Код использует оператор with для доступа к свойствам компонента TStringGrid (Sender) и его канваса.
  • Он устанавливает стиль кисти в твердый, цвет в белый, и заливает прямоугольник этим цветом с помощью метода FillRect.
  • Наконец, он рисует битмап, хранящийся в Image1, в верхнем левом углу ячейки с помощью метода Draw.
  • Пояснение: я использовал метод Draw вместо StretchDraw, как вы запросили. Если вам нужно растянуть изображение, чтобы оно занимало всю ячейку, вы можете использовать StretchDraw вместо этого.

В обработчике события OnDrawCell StringGrid элемента поместите код, использующий метод Draw() или StretchDraw() класса TCanvas для отображения Bitmap из TImage в ячейке StringGrid.


Комментарии и вопросы


:: 2015-02-03 12:08:19 :: re:Bitmap в StringGrid ячейке

пользователь: юрий.

непонятно в какую ячейку загружается картинка, я например тупо скопировал код и картинка загрузилась
аккурат закрыв все первые ячейки ,то есть поверх них
Draw(1,1,bit);
что там должно быть в {...}????
если пишете код ,то пишите подробно ,пытался в ячейку вставить написал так
SG.Cells[2,1].StretchDraw(1,1,bit);
ошибка вылезла


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: TStringGrid и TDrawGrid ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 20:49:19/0.0071020126342773/2