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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2016, 16:32   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
Восклицание Автоподгон высоты строк, выравнивание текста в ячейке

Добрый день!
Я сделал отображение картинок из блоб поля в dbgrideh.
Собственно, это меня очень устраивает, но есть пара моментов. Вот код мой:
Код:
procedure TForm_Main.StudentsDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer;
  Column: TColumnEh; State: TGridDrawState);
var
  stream: TStream;
  img: TBitmap;
  t,r:integer;
begin
 if Column.FieldName='PS' then
 with Form_Main.Students.Canvas, Form_Main.pFIBDataSet1 Do
 begin
  img:= TBitmap.Create;
  stream:=
      Form_Main.pFIBDataSet1.CreateBlobStream(Form_Main.Students.DataSource.DataSet.FieldByName('PS'),bmRead);

  t:=TDBGridEh(Sender).Canvas.TextWidth(Column.Field.DisplayText);//длина отображаемого значе ния
  r:=Rect.Right - Rect.Left;//длина прямоугольника
  TDBGridEh(Sender).Canvas.TextOut(Rect.Left+round((r-t)*0.5), Rect.Top+2,Column.Field.Text);

//тут нужен код для того, чтобы высота строки в гриде подгонялась под высоту картинки, все больше ничего.
//  Form_Main.Students.RowHeight:=img.Height;
  try
   img.LoadFromStream(stream);
   StretchDraw(Rect, img);
  finally
   stream.Free;
   img.Free;
  end;
 end;
end;
Собственно, момента и вопроса 2:
1. Как написать, чтобы высота строки в гриде автоматически равнялась высоте картинке в поле?
и
2. Как отцентровать текст в ячейках по центру? Если я явно выставляю выравнивание по центру, то текст выравнивается, но вверху ячейки, а мне надо, чтобы по центру, как в Excel.
Прошу помощи...
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить, сколько строк текста в ячейке таблицы CrySTaL Microsoft Office Word 6 11.01.2013 11:47
Выравнивание в ячейке с условным форматированием Людмилка Microsoft Office Excel 2 25.11.2011 09:26
Изменение высоты строк djdron Общие вопросы Delphi 2 28.11.2010 10:01
Поиск высоты строк beda Microsoft Office Word 1 18.06.2010 14:57
Выравнивание высоты таблицы для разного разрешения Svetix HTML и CSS 10 03.04.2009 17:00