Вниз
Скачать: CL | DM;

Аналог OnDrawCell в DBGrid   Найти похожие ветки 

 
KIR ©   (2002-04-29 12:21) [0]

Народ, такой вопрос: Требуется в ячейке выводить текст из поля типа String и, если он (текст) не помещается в одну строку увеличивать ширину ячейки и выводить его (текст) в несколько строк. В StringGrid я делаю так:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
al: UINT;
s: string;
hi: integer;
R: TRect;
begin
S:=StringGrid1.Cells[ACol,ARow];
al:=DT_LEFT or DT_VCENTER or DT_END_ELLIPSIS or DT_NOPREFIX or DT_WORDBREAK;
R := Rect;
R.left:=R.Left+2;
R.Top:=R.Top+2;
R.Right:=Rect.Right-2;
hi:=DrawTextEx(StringGrid1.Canvas.Handle, PChar(s), Length(s), R, al or DT_CALCRECT, nil);
if StringGrid1.RowHeights[ARow] < hi then
StringGrid1.RowHeights[ARow]:=hi+6;
DrawTextEx(StringGrid1.Canvas.Handle,Pchar(s),-1,R,al,nil);
end;

А как это делается в DBGrid?


 
Johnmen ©   (2002-04-29 12:26) [1]

Если имеется в виду высота (а не ширина :)), то
Разве что заранее определить максимальную необходимую высоту ячеек...


 
jonik pegas ©   (2002-04-29 14:09) [2]

Переопределить DefaultRowНеight.Правда изменится высота всех строк что не есть хорошо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.018 c
14-88602
SPeller
2002-04-18 14:41
2002.05.27
Опять Винда глючная...


1-88565
Коля
2002-05-16 14:44
2002.05.27
Мастеря, помогите еще разок =)


4-88679
Andrew K.S.
2002-03-26 12:34
2002.05.27
WinExec


4-88687
ATLANTIDO
2002-03-22 21:28
2002.05.27
Рисование на DC


1-88399
Димок
2002-05-15 18:03
2002.05.27
Как вставить свой пункт в чужое PopuMenu?




   Наверх