![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Можно