С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
DenNik
Непрофессионал
2014 / 1500 / 308
Регистрация: 26.07.2011
Сообщений: 8,134
1

Вертикальное выравнивание в ячейке TStringGrid

12.05.2014, 15:31. Просмотров 1864. Ответов 2
Метки нет (Все метки)

понадобилось мне сделать выравнивание текста по центру ячейки. наваял код

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  txt: string;
begin
  with StringGrid1 do
  begin
    txt:= Cells[ACol,ARow];
    Canvas.Brush.Color:= clSkyBlue;
    Canvas.FillRect(Rect);
    Canvas.TextRect(Rect,txt,[tfVerticalCenter,tfCenter);
    // или Canvas.TextRect(Rect,txt,[tfBottom,tfCenter]);
  end;
end;
но почему-то вертикальное выравнивание не сработало
Вертикальное выравнивание в ячейке TStringGrid

хотел было уже писать сюда "Караул" а потом порылся в исходном модуле, подумал "дай-ка попробую вот это". и вуаля!
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  txt: string;
begin
  with StringGrid1 do
  begin
    txt:= Cells[ACol,ARow];
    Canvas.Brush.Color:= clSkyBlue;
    Canvas.FillRect(Rect);
    Canvas.TextRect(Rect,txt,[tfVerticalCenter,tfCenter,tfSingleLine]);
  end;
end;
Вертикальное выравнивание в ячейке TStringGrid

нужно добавить tfSingleLine
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2014, 15:31
Ответы с готовыми решениями:

Компонент TstringGrid: осуществить доступ к ячейке таблицы
Как можно осуществить доступ к ячейке таблицы? Например в столбец TstringGrid...

Выравнивание в ячейке StringGrid по нажатию по кнопке
Как сделать чтобы по нажатию на по кнопке в выделенной ячейке выравнивался...

TStringGrid
Есть на форме элемент StringGrid1. В его 0 ячейку не влезает название...

Компонент TStringGrid
Дана двумерная целочисленная таблица. Вывести все строки, сумма элементов...

Сортировка в TStringGrid.
procedure SgSort(aSg : TStringGrid; const aCol : Integer); var SlSort,...

2
DenNik
Непрофессионал
2014 / 1500 / 308
Регистрация: 26.07.2011
Сообщений: 8,134
12.05.2014, 15:37  [ТС] 2
попутный вопрос к знатокам: почему метод TextRect требует переменную в качестве входного текста? в каких случаях значение этой переменной может быть изменено?
0
FIL
Модератор
3422 / 2556 / 728
Регистрация: 19.09.2012
Сообщений: 7,926
12.05.2014, 15:43 3
Цитата Сообщение от DenNik Посмотреть сообщение
в каких случаях значение этой переменной может быть изменено?
Видимо в этих :
Delphi
1
2
  if tfModifyString in TextFormat then
    SetLength(Text, StrLen(PChar(Text)));
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2014, 15:43

Глюки с tstringgrid
В общем, алгоритм: создаем дочернюю форму mdichild из прототипа настраиваем...

Работа с TStringGrid.
Вобщем я создал программу для хранения оценок и мне надо ,чтобы оценки в...

Сортировка в TStringGrid
Привет форумчане! Столкнулся с проблемой которую не могу решить. Пытаюсь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru