Главная страница
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.015 c
4-88686
Толик
2002-03-28 10:56
2002.05.27
Иконка файла


14-88635
lel
2002-04-16 16:36
2002.05.27
Великое событие, СМЕРТЕЛЬНАЯ БИТВА


4-88672
Bboy
2002-03-26 09:05
2002.05.27
Убить или не убить приложение???


1-88480
Vladimir_Shk
2002-05-13 17:44
2002.05.27
Проблема с отладчиком.


1-88477
cult
2002-05-15 13:00
2002.05.27
Перерисовка компонента.