Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выравнивание текста в ячейках StringGrid [D6, 2000, XP]


Mishenka ©   (2007-08-16 11:19:00) 

Как в StringGrid указать выравнивание текста (по левому, правому краям или по центру) в определенном столбце или ячейке?


Игорь Шевченко   (2007-08-16 11:35:00) [1]

В событии OnDrawCell рисовать с нужным выравниванием, используя DrawText

procedure TForm1.GridDrawCell(Sender: TObject; ACol,
 ARow: Integer; Rect: TRect; State: TGridDrawState);
var
 Flags: Integer;
 DrawRect: TRect;
begin
 Grid.Canvas.FillRect(Rect);
 DrawRect := Rect;
 case ACol of
 1:
     Flags := DT_CENTER or DT_NOPREFIX or DT_EXPANDTABS
 2:
     Flags := DT_RIGHT or DT_NOPREFIX or DT_EXPANDTABS or DT_SINGLELINE;
 else
     Flags := DT_LEFT or DT_NOPREFIX or DT_EXPANDTABS;
 end;
 DrawText(Grid.Canvas.Handle, PChar(Grid.Cells[ACol,ARow]), -1, DrawRect, Flags);
 end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо