Форум: "Базы";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
ВнизАналог 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 вся ветка
Форум: "Базы";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c