скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Выравнивание колонок StringGrid



Автор: Kurt

Два программиста едут в переполненном автобусе. Один - другому:
- Что то у меня с писюком! (толпа замирает)
- А что с ним?
- Да висит часто...
- Может вирус какой?
- Да проверял, все стерильно...
- А висит хорошо?
- Крепко, тремя пальцами не поможешь...

Организуйте обработчик события сетки OnDrawCell. Создайте код обработчика подобный этому:


procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Longint;
  Rect: TRect; State: TGridDrawState);
var
  Txt: array[0..255] of Char;
begin
  StrPCopy(Txt, StringGrid1.Cells[Col, Row]);
  SetTextAlign(StringGrid1.Canvas.Handle,
    GetTextAlign(StringGrid1.Canvas.Handle)
    and not (TA_LEFT or TA_CENTER) or TA_RIGHT);
  ExtTextOut(StringGrid1.Canvas.Handle, Rect.Right - 2, Rect.Top + 2,
    ETO_CLIPPED or ETO_OPAQUE, @Rect, Txt, StrLen(Txt), nil);
end;

Поэкспериментируйте с кодом и посмотрите на результаты, прежде чем решить как вам больше нравится.

Успехов.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook