Главная страница
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.025 c
3-88333
YouNick
2002-04-29 15:52
2002.05.27
удаленный сервер InterBase


1-88519
ДЖИН
2002-05-16 01:55
2002.05.27
Остановка процесса


7-88649
skiph
2002-03-02 11:27
2002.05.27
Файл


3-88380
fliz
2002-04-29 11:21
2002.05.27
ADO + DBGrid. Добавление-отмена д-я записи приводит к сообщению


8-88568
Val
2001-12-27 10:48
2002.05.27
ClipBoard->JPEGImage