Главная страница
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.018 c
1-84166
Muskat
2003-06-11 13:54
2003.06.26
pchar


7-84773
Анатолий.
2003-04-16 18:22
2003.06.26
Как перетянуть с помощью Drag and Drop обьект в другое приложение


1-84253
Gogol
2003-06-13 19:01
2003.06.26
Общая процедура OnChange на MyEdit: Array [0..n] of TEdit,


3-84005
LeReve
2003-05-30 15:37
2003.06.26
Как отловить событие которове возникает именно после....


7-84770
velsi
2003-04-15 16:56
2003.06.26
СЕРВИС И TRAY