Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как вывести надпись в центре ячейки TStringGrid?

6.2K
03 ноября 2007 года
santey
28 / / 31.12.2005
В свойствах компонента TStringGrid такого параметра нет, а может быть есть другие способы?
Подскажите кто-знает.
3.2K
04 ноября 2007 года
nikipelovav
152 / / 12.04.2006
Цитата: santey
В свойствах компонента TStringGrid такого параметра нет, а может быть есть другие способы?
Подскажите кто-знает.



Используй событие OnDrawCell и рисуй текст вручную.

 
Код:
Write an OnDrawCell event handler to draw the contents
of all the cells in the grid.


Что-то вроде ...

Код:
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
  // определим ширину текста в шрифте StringGrid1
  int tw = StringGrid1->Canvas->TextWidth(StringGrid1->Cells[ACol][ARow]);

  // определим высоту текста в шрифте StringGrid1
  int th = StringGrid1->Canvas->TextHeight(StringGrid1->Cells[ACol][ARow]);

  // зная ширину и высоту ячейки по прямоугольной области её рисования
  // Rect.Width() и Rect.Height()
  // выводим текст с нужным смещением по горизонтали и по вертикали
  StringGrid1->Canvas->TextRect( Rect,
                                 Rect.Left + ( Rect.Width()  - tw )/2,
                                 Rect.Top  + ( Rect.Height() - th )/2,
                                 StringGrid1->Cells[ACol][ARow] );
}
246
04 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: santey
В свойствах компонента TStringGrid такого параметра нет, а может быть есть другие способы?
Подскажите кто-знает.


Перед тем как спрашивать заглядывай в FAQ's
http://forum.codenet.ru/showthread.php?t=26390

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог