![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Две строки в одной ячейки TStringGrid [D6, WinXP]
Игорь © (2004-06-23 08:51:00)Как в одну ячейку TStringGrid поместить две строки.
Я пытался так:myStringGrid.Cells[1,1] := 'Один' + #13 + 'Два'. Но ничего не вышло.
wisekaa (2004-06-23 10:52:00) [1]
> [1] begin...end © (23.06.04 08:52)
onDrawCells + DrawText + F1
Пример из кулибы за 2000 год:
TFTVerticalAlignment = (vaTop, vaMiddle, vaBottom);
procedure DrawTextAligned(const Text: string; Canvas: TCanvas; var Rect: TRect; Alignment: TAlignment; VerticalAlignment: TFTVerticalAlignment; WordWrap: Boolean);
var
P : array[0..255] of Char;
H : Integer;
T : TRect;
F : Word;
begin
StrPCopy(P, Text);
T := Rect;
with Canvas, Rect do
begin
F := DT_CALCRECT or DT_EXPANDTABS or DT_VCENTER or TextAlignments[Alignment];
if WordWrap then F := F or DT_WORDBREAK;
H := DrawText(Handle, P, -1, T, F);
H := MinInt(H,Rect.Bottom - Rect.Top);
if VerticalAlignment = vaMiddle then
begin
Top := ( (Bottom+Top) - H) div 2;
Bottom := Top + H;
end
else if VerticalAlignment = vaBottom then
Top := Bottom - H - 1;
F := DT_EXPANDTABS or DT_VCENTER or TextAlignments[Alignment];
if WordWrap then F := F or DT_WORDBREAK;
DrawText(Handle, P, -1, Rect, F);
end;
end;
begin...end (2004-06-23 08:52:00) [2]DrawText + F1