Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
ВнизФорматирование ячеек в TStringGrid. Найти похожие ветки
← →
Muzzy (2002-04-02 12:33) [0]Уважаемые мастера, помогите реализовать сабж.
В ячейки StringGrid заносятся названия пунктов, но сами названия очень длинные и чтение затруднено. Задача: в фиксированную длину столбца поместить строку, и если эта строка выходит за пределы ячейки автоматически увеличить ширину ячейки и разместить остальное строкой ниже в этой же ячейке (нечто похожее на «перенос по словам” в Excel) и позиционировать все это в верхний левый угол. Есть ли подобное свойство у StringGrid или надо делать ручками. И если ручками, то как?
← →
MBo (2002-04-02 13:04) [1]что-нибудь в этом роде
procedure TForm1.sg1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var r:trect;
begin
if sg1.canvas.textwidth(sg1.cells[Acol,Arow])>sg1.ColWidths[Acol] then begin
r:=rect;
DrawText(sg1.canvas.handle,pchar(sg1.cells[Acol,Arow]),length(sg1.cells[Acol,Arow]),r, DT_WordBreak+DT_CalcRect);
r.right:=rect.right;
sg1.canvas.fillrect(r);
sg1.Rowheights[aRow]:=r.bottom-r.top+3;
DrawText(sg1.canvas.handle,pchar(sg1.cells[Acol,Arow]),length(sg1.cells[Acol,Arow]), r, DT_WordBreak);
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c