Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.27;
Скачать: 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 вся ветка

Текущий архив: 2002.05.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
1-88478
MyasNick
2002-05-15 09:26
2002.05.27
Print Preview


6-88582
BOrda
2002-03-17 15:36
2002.05.27
сокет, адрес и порт


14-88616
dudnikov
2002-04-19 03:55
2002.05.27
Вопрос-просьба


1-88444
ArhAngeL2
2002-05-16 19:28
2002.05.27
BalloonMessage


1-88484
yaJohn
2002-05-15 15:21
2002.05.27
Пароль юзера Windows в мирных целях