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

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

StringGrid??? [D5, WinXP]


lexandr ©   (2004-12-25 12:03:00) 

Ребята, подскажите - можно в компоненте StringGrid текст выровнять по центру (горизонтально)

Че то я подпарился...

За ранее Вам благодаоен...


GrayFace   (2005-01-04 15:53:00) [1]

У меня тогда было 03:36.


PalPalych   (2005-01-03 00:42:00) [2]

GrayFace ©   (01.01.05 00:36) [11]
Ну ты герой!!!
спустя пол часа после наступления НГ говорить о программировании это здорово!!!


GrayFace   (2005-01-01 00:36:00) [3]

StMar ©   (25.12.04 15:27) [6]
тогда выравнивание будет во всех ячейках и ваще будет глючить при перерисовке

DoubleBuffered:=true;

KSergey ©   (26.12.04 10:51) [8]
На чем основано сие утверждение? На собственном кривом коде?

Утверждение верно, по крайней мере, для TTabControl.


GrayFace   (2005-01-01 00:36:00) [4]

Я имел ввиду, что 2-я часть утверждения верна.


Валерий   (2004-12-26 18:54:00) [5]

>StMar ©   (25.12.04 15:27) [6]
>лучше используй StringAlignGrig

А где взять этот StringAlignGrig ? Ни гугл, ни яндекс ничего не знают.


KSergey   (2004-12-26 10:51:00) [6]

> [6] StMar ©   (25.12.04 15:27)
> и ваще будет глючить
> при перерисовке

На чем основано сие утверждение? На собственном кривом коде?


antonn   (2004-12-25 15:30:00) [7]


> StMar ©   (25.12.04 15:27) [6]

[3] для примера выравнивается:
первый столбец: по левому краю
второй столбец: по центру
третий столбец: по правому краю
Поубирать лишнее, и все ОК.


StMar   (2004-12-25 15:27:00) [8]

>procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, >ARow: Integer; Rect: TRect; State: TGridDrawState);...

тогда выравнивание будет во всех ячейках и ваще будет глючить при перерисовке

лучше используй StringAlignGrig -много всяких фич типа разного фонта для каждой ячейки, сохранения в хтмл,csv и т.д. а гл.-бесплатный и с исходниками!


lexandr   (2004-12-25 13:21:00) [9]

Еще раз большое спасибо!!!


begin...end   (2004-12-25 13:11:00) [10]

> lexandr   (25.12.04 12:03)

procedure TMyForm.MyStringGridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
 DrawText((Sender as TStringGrid).Canvas.Handle,
   PChar({здесь нужный текст}), -1, Rect,
   DT_SINGLELINE or DT_CENTER or DT_VCENTER)
end.


antonn   (2004-12-25 12:56:00) [11]

Можно.

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin
 StringGrid1.Canvas.FillRect(rect);
 case ACol of
  2:begin
    StringGrid1.Canvas.TextOut(Rect.Right -  StringGrid1.canvas.TextWidth( StringGrid1.Cells[acol,arow]) , Rect.Top  ,  StringGrid1.Cells[acol,arow] );
    exit;
  end;
  1:begin
    StringGrid1.Canvas.TextOut(Rect.Left + trunc(((Rect.Right-Rect.Left)- StringGrid1.canvas.TextWidth( StringGrid1.Cells[acol,arow]) )/2) , Rect.Top + trunc( ( (Rect.Bottom-Rect.top)- StringGrid1.canvas.TextHeight(StringGrid1.Cells[acol,arow]) )/2 ) ,  StringGrid1.Cells[acol,arow] );
    exit;
  end;
 end;
 StringGrid1.Canvas.TextOut(Rect.Left , Rect.Top  ,  StringGrid1.Cells[acol,arow] );
end;


lexandr   (2004-12-25 12:25:00) [12]

Большое спасибо !!!
А пример можно?


Anatoly Podgoretsky   (2004-12-25 12:13:00) [13]

Можно


Наверх

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