Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

TStringGrid - срочно нужна консультация с автопереносом....   Найти похожие ветки 

 
Leon_M@ni@k ©   (2003-06-14 14:31) [0]

У меня есть StringGrid - но ячейки у него -фиксированной ширины
а вот высота свободно может варьироваться - и из-за этого у меня не все фразы влазят - (они ведб пишуться в одну строку)

1. МОЖНО ЛИ сделать автоперенос - типа как в Exele
2. Если нет - то чем лучше заменить
3. Как сохранить таблицу Grida в файл типа Exl или Word

Помогите пожалста - Диплом стоит !!!!!!!!!!!!!!


 
dataMaster ©   (2003-06-14 16:09) [1]

Вот в FAQ"ах нашел описание и кусок кода. Но на работоспособность я его не проверял...

Сперва необходимо установить свойство DefaultDrawing в False. Далее, необходимо вставить следующий код в обработчик события OnDrawCell:


procedure TForm1.StringGrid1DrawCell(Sender: TObject;
Col, Row: Longint;
Rect: TRect;
State: TGridDrawState);
var
Line1: string;
Line2: string;
ptr: integer;
padding: integer;
hGrid: TStringGrid;

begin
hGrid:= (Sender as TStringGrid);
ptr := Pos(";", hGrid.Cells[Col, Row]);
if ptr > 0 then
begin
Line1 := Copy(hGrid.Cells[Col, Row], 1, ptr - 1);
Line2 := Copy(hGrid.Cells[Col, Row], ptr + 1,
Length(hGrid1.Cells[Col,Row]) - ptr);
end
else Line1 := hGrid.Cells[Col, Row];
hGrid.Canvas.FillRect(Rect);
hGrid.Canvas.TextOut(Rect.Left, Rect.Top + 2, Line1);
if ptr > 0 then
hGrid.Canvas.TextOut(Rect.Left, Rect.Top -
hGrid.Canvas.Font.Height + 3, Line2);
end;

Теперь достаточно для переноса строки вставить в неё точку с запятой. Так же не забудьте изменить высоту строки так, чтобы переносы строки поместились в ячейку:

StringGrid1.RowHeights[0] := StringGrid1.DefaultRowHeight * 2 ;


 
Leon_M@ni@k ©   (2003-06-14 16:57) [2]

КОД - ОТЛИЧНЫЙ - СПАСИБО ))))
Осталась только 3-я проблема !! )


 
Song ©   (2003-06-14 22:01) [3]

1) DrawText()
3) Через буфер обмена передай в ворд или эксцель



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.04 c
3-83894
DreamDesire
2003-06-03 10:32
2003.06.26
Master-Details в TClientDataSet: касадное удаление


11-84047
z00100
2002-09-28 04:34
2003.06.26
недопущение запуска второй копии программы


1-84165
sapsi
2003-06-11 14:50
2003.06.26
Delphi и Excel


4-84821
Yogi
2002-12-14 14:10
2003.06.26
Service и Handle


14-84597
Vlad Oshin
2003-06-09 09:17
2003.06.26
:) (=============чтоб попасть было легче..:)