Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 259

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Помогите решить один (а может и не один) вопрос.
Программно создается документ PDF с одной таблицей (2 столбца, 9 строк). Используется компонент VisPDFLib.

При заполнении ячеек таблицы возникает ситуация, когда текст выходит за пределы размеров ячейки таблицы.
Текст в ячейки таблицы передается из Edit и MEMO.

Вопрос.
Как сделать что-то наподобие "резиновой таблицы", т.е. при наличии в Memo более 1 строки, ячейка таблицы, куда заносятся данные из Memo, автоматически расширялась по высоте (как в WORD).
Заранее благодарен
Al_Sha

Приложение:
  1.  
  2. procedure ShowTable ( X, Y: Integer);
  3. begin
  4.  
  5.  
  6. VPDF.CurrentPage.Stroke;
  7.  
  8. VPDF.CurrentPage.Stroke;
  9.  
  10. VPDF.CurrentPage.Stroke;
  11.  
  12. VPDF.CurrentPage.Stroke;
  13.  
  14. VPDF.CurrentPage.Stroke;
  15.  
  16. VPDF.CurrentPage.Stroke;
  17.  
  18. VPDF.CurrentPage.Stroke;
  19.  
  20. VPDF.CurrentPage.Stroke;
  21.  
  22. VPDF.CurrentPage.Stroke;
  23.  
  24. VPDF.CurrentPage.MoveTo( X + 275, Y ); //( X + 130, Y );
  25. VPDF.CurrentPage.LineTo( X + 275, Y + 100 ); //( X + 130, Y + 100 );
  26. VPDF.CurrentPage.MoveTo( X + 275, Y ); //( X + 130, Y );
  27. VPDF.CurrentPage.LineTo( X + 275, Y + 150 ); //( X + 130, Y + 100 );
  28. VPDF.CurrentPage.MoveTo( X + 275, Y ); //( X + 130, Y );
  29. VPDF.CurrentPage.LineTo( X + 275, Y + 200 ); //( X + 130, Y + 100 );
  30. VPDF.CurrentPage.MoveTo( X + 275, Y ); //( X + 130, Y );
  31. VPDF.CurrentPage.LineTo( X + 275, Y + 250 ); //( X + 130, Y + 100 );
  32. VPDF.CurrentPage.MoveTo( X + 275, Y ); //( X + 130, Y );
  33. VPDF.CurrentPage.LineTo( X + 275, Y + 300 ); //( X + 130, Y + 100 );
  34. VPDF.CurrentPage.MoveTo( X + 275, Y ); //( X + 130, Y );
  35. VPDF.CurrentPage.LineTo( X + 275, Y + 350 ); //( X + 130, Y + 100 );
  36. VPDF.CurrentPage.MoveTo( X + 275, Y ); //( X + 130, Y );
  37. VPDF.CurrentPage.LineTo( X + 275, Y + 400 ); //( X + 130, Y + 100 );
  38. VPDF.CurrentPage.MoveTo( X + 275, Y ); //( X + 130, Y );
  39. VPDF.CurrentPage.LineTo( X + 275, Y + 450 ); //( X + 130, Y + 100 );
  40. VPDF.CurrentPage.Stroke;
  41. end;
  42.  
  43.  
  44. VPDF.CurrentPage.SetFont('Arial', [fsBold, fsUnderline], 20, 204);
  45.  
  46. ShowTable(20, 60);
  47. VPDF.CurrentPage.SetFont('Arial Narrow', [fsBold], 10, 204);
  48. VPDF.CurrentPage.TextOut( 40, 80, 0, Edit1.text );
  49. VPDF.CurrentPage.TextOut( 40, 120, 0, Edit2.text );
  50. VPDF.CurrentPage.TextOut( 40, 170, 0, Memo1.Lines);
  51.  
  52.  
  53.  
  54.  


Al_Sha Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Al_Sha (статус: Посетитель)
Вопрос отправлен: 12 сентября 2012, 16:08
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:41
Выполнено за 0.02 сек.