PrintText

Printer ››
Parent Previous Next

PrintText

Синтаксис

Sub PrintText(ByRef text As String, byval Left As Integer=0, byval Top As Integer=0, byval Right As Integer=0, byval Bottom As Integer=0, byval flag As Integer=0)

Описание

Печатает текст в выбранном прямоугольнике. Если перед использованием функции PrintText , не была вызвана функция FontPrint , то шрифт выбирается по умолчанию (возможно из-за этого русские символы могут быть напечатаны крякозябрами). Функция находится в пространстве имен window9.

Параметры

text - любой текст

Left , Top , Right , Bottom - координаты прямоугольника в пикселях для вывода текста. Если Left и\или Top не используются, то равны нулю. Если Right и\или Bottom не используются, то равны ширине и высоте области печати.

flag - Определяет метод форматирования текста. Это может быть любая комбинация следующих значений (объединенных поразрядным OR оператором). Флаги написаны для функции DrawText. Собственно PrintText его обертка:

DT_BOTTOM - Определяет выровненный по нижней части текст. Это значение должно быть объединено с DT_SINGLELINE.
DT_CENTER - Выравнивает по центру текст горизонтально.
DT_END_ELLIPSIS или DT_PATH_ELLIPSIS - Заменяет часть данной строки с эллипсами, в случае необходимости, так, чтобы результат находился в определенном прямоугольнике. Данная строка не изменяется, если флажок DT_MODIFYSTRING не определен. Вы можете определять DT_END_ELLIPSIS, чтобы заменить символы в конце строки, или DT_PATH_ELLIPSIS, чтобы заменить символы в середине строки. Если строка содержит наклонную черту влево (\), символы, DT_PATH_ELLIPSIS сохраняют в максимально возможной степени текста после последней наклонной черты влево.
DT_EXPANDTABS - Разворачивает символы табуляции. Заданное по умолчанию число символов позиций табуляции - восемь.
DT_EXTERNALLEADING - Включает внешнюю подачу шрифта в высоте строки. Обычно, внешняя подача не включена в высоту строки текста.
DT_LEFT - Выравнивает влево текст.
DT_MODIFYSTRING - Изменяет данную строку, чтобы согласовать к отображаемому тексту. Этот флажок не имеет никакого эффекта, если DT_END_ELLIPSIS или флажок DT_PATH_ELLIPSIS не определен. Обратите внимание, что некоторые комбинации флажков uFormat могут заставлять переданную строку изменяться. Использование DT_MODIFYSTRING или с DT_END_ELLIPSIS или DT_PATH_ELLIPSIS может заставлять строку изменяться, вызывая исключение в отмене CString.
DT_NOCLIP - Выводит без отсечения. DrawText несколько быстрее, когда DT_NOCLIP используется.
DT_NOPREFIX - Выключает обработку префиксных символов. Обычно, DrawText интерпретирует символ амперсанда (и) мнемонической схемы - префиксный символ как директива, чтобы подчеркнуть символ, который следует, и (& &) мнемонически схема - префиксные символы с двумя символами амперсанда как директива, чтобы печатать одиночный символ амперсанда. Определяя DT_NOPREFIX, эта обработка выключена.
DT_RIGHT - Выравнивает вправо текст.
DT_SINGLELINE - Определяет одиночную строку только. Возвраты каретки и переводы строки не разрывают строку.
DT_TABSTOP - Устанавливает табуляторы. Старший байт nFormat - число символов для каждой позиции табуляции. Заданное по умолчанию число символов в позиции табуляции - восемь.
DT_TOP - Определяет выровненный по верху текст (одиночная строка только).
DT_VCENTER - Определяет вертикально центрированный текст (одиночная строка только).
DT_WORDBREAK - Определяет слово - breaking. Строки были бы автоматически разбиты между словами, если слово простиралось бы дальше края прямоугольника, определенного lpRect. Последовательность переводов строки возвратов каретки также разорвет строку.

Замечания
Если какой-то из флагов не работает, читаем про функццию DrawText (Microsoft анл.). Перевод взят с этого сайта Возможно он не корректен.

Текст форматируется, разворачивая позиции табуляции в соответствующие пробелы, выравнивая текст налево, право, или центр данного прямоугольника, и разрывая текст в строки, которые приспосабливаются внутри данного прямоугольника.
Если формат DT_NOCLIP не используется, DrawText отсекает текст так, чтобы текст не появился снаружи данного прямоугольника. Все форматирование принято, чтобы иметь многократные строки, если формат DT_SINGLELINE не дан.
Если выбранный шрифт слишком большой для определенного прямоугольника, DrawText не пытается заменять меньшим шрифтом.
Если флажок DT_CALCRECT определен, прямоугольник, определенный lpRect будет модифицироваться, чтобы отразить ширину и высоту, необходимую, чтобы вывести текст.
Если TA_UPDATECP флажок выравнивания текста был установлен (см. CDC::SetTextAlign), DrawText отобразит текст, начинающийся в текущей позиции, налево от данного прямоугольника. DrawText не будет переносить по словам текст, когда флажок TA_UPDATECP был установлен (то есть флажок DT_WORDBREAK не будет иметь никакого эффекта).

Платформы

Windows

Пример

#Include "window9.bi"
Using window9
Dim Po As SinglePoint
Dim font As FontPrint
font.Name_="Arial"
font.size=22
font.Italic=1
Dim As Integer X=30,X1=15,Y=30,Y1=10
StartPrinter(@po)
PageStart()
FramePage(X,X1,Y,Y1)
FontPrinter(@font)
PrintText("FreeBasic very good programming language")
PageEnd()
StopPrinter()

Created with the Personal Edition of HelpNDoc: Generate EPub eBooks with ease