Главная страница
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.02 c
1-84203
NickName
2003-06-12 13:56
2003.06.26
Сброс фокус Memo


14-84634
$Hak@L
2003-06-10 07:52
2003.06.26
Как работать с проксями???


3-84012
softmaster
2003-05-30 17:25
2003.06.26
Трабл с LOOKUP полем.


1-84179
Maxim Pshevlotsky
2003-06-07 07:29
2003.06.26
Не выгружается MTS сервер


14-84529
_Peacemaker
2003-06-06 18:06
2003.06.26
Поговорите со мной