Главная страница
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.017 c
7-84804
Sirus
2003-04-04 06:56
2003.06.26
Ловушка на принтер...


1-84252
paxer
2003-06-13 18:12
2003.06.26
TDrawGrid и TEdit - не работает OnChange


1-84076
Rel_
2003-06-09 14:12
2003.06.26
Excel


14-84736
GOOD
2003-06-06 02:09
2003.06.26
подскажите кто знает!


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