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

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

Две строки в одной ячейки 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


Наверх

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