CreateFont - прямой аналог функции CreateFont в Win 32
CreateFont( <логическая высота фонта>,
<средняя логическая ширина знака>,
<угол испускания>,
<угол орентации базы>,
<ширина>,
<плотность фонта>,
<флаг "italic">,
<флаг "underline">,
<флаг "strikeout">,
<идентификатор множества символов>,
<точность вывода>,
<точность урезания>,
<качество вывода>,
<шаг и семейство>,
<имя гарнитуры шрифта>
)
Подробное описание функции можно найти в любой документации по Win32 API.
fnt2 := CreateFont( 14, 8, 0, 0, 500 , 1, 1, 0, =>
RUSSIAN_CHARSET, OUT_DEFAULT_PRECIS, =>
CLIP_DEFAULT_PRECIS, =>
DEFAULT_QUALITY, =>
DEFAULT_PITCH, =>
"ARIAL NEW" =>
)
FontDescr(
<логическая высота фонта>,
<средняя логическая ширина знака>,
<угол испускания>,
<угол орентации базы>,
<ширин>,
<плотность фонта>,
<флаг "italic">,
<флаг "underline">,
<флаг "strikeout">,
<идентификатор множества символов>,
<точность вывода>,
<точность урезания>,
<качество вывода>,
<шаг и семейство>,
<имя гарнитуры шрифта>
)
SetFontBy() - установка фонта с предварительно заполнеными атрибутами функцией
FontDescr.
SelectFont( <идентификатор фонта> ) - переключение фонта.
Простейший вывод на экран осуществляется функцией
OutText( <коорд. Y>, <коорд. X>, <строка> [, <длина>, <цвет>, <фонт>] )
<коорд. Y>, <коорд. X>
GetStringSize( <строка или символ>, <длина> [, <фонт>] )
<строка или символ> - именно строка или символ,
<длина> - число - количество символов строки, размер в пикселах которых
должен быть измерен; если NULL, то берется вся строка.
<фонт> - указывается идентификатор фонта.
Высота и ширина строки возвращается в пикселах. Раздельно выбираются
с помощью IntLeft(), возвращающей ширину, и IntRight(), возвращающей высоту.
x := GetStringSize( "Hello !", NULL, fnt )
y := IntRight( x )
или
y := IntRight( x := GetStringSize( " World ", NULL, fnt ) )
OutFormatString(
<Y0>,
<X0>,
<строка>,
<длина>,
<цвет>,
<фонт>
[ { , <строка>,
<длина>,
<цвет>,
<фонт>
}
]
)
выводит в координаты Y0, X0 набор строк, каждая из которых представлена
собственным цветом и фонтом, как одну строку на экран. Высота такой строки
равна максимальной высоте всех заданных фонтов.
Возвращает ширину в пикселах выводимой строки.
DrawFormatStr(
<Y0>,
<X0>,
<Y1>,
<X1>,
<строка>,
<длина>,
<цвет>,
<фонт>,
<опции>
[ { , <строка>,
<длина>,
<цвет>,
<фонт>,
<опции>
}
]
)
выводит в прямоугольник с координатами Y0, X0, Y1, X1 набор строк, каждая
из которых представлена собственным цветом и фонтом, как одну строку на
экран. <опции> определяют размещения фрагмента в собственной части области,
начало которой определяется с конца предыдущей: к началу предыдущего
прибавляется его длина + 1 пиксел.
Возвращает ширину в пикселах выведенной строки в целом.
Подробное описание опций вы найдете в любом описании функции DrawTextEx
Win32 API. Здесь перечислены опции, макросы которых представлены в файле
CAPER_GDI.ch :
DT_TOP
DT_LEFT
DT_CENTER
DT_RIGHT
DT_VCENTER
DT_BOTTOM
DT_WORDBREAK
DT_SINGLELINE
DT_EXPANDTABS
DT_TABSTOP
DT_NOCLIP
DT_EXTERNALLEADING
DT_CALCRECT
DT_NOPREFIX
DT_INTERNAL
DT_EDITCONTROL
DT_PATH_ELLIPSIS
DT_END_ELLIPSIS
DT_MODIFYSTRING
DT_RTLREADING
DT_WORD_ELLIPSIS
DrawFormatStrA(
<Y0>,
<X0>,
<Y1>,
<X1>,
<строка>,
<массив>
)
функция подобна DrawFormatStr, за исключением того, что структурированный
вывод указанной строки осуществляется посредством описателей в массиве
<массив>. <Массив> должен быть организован как набор пятиэлементных
совокупностей типа 'I' (к примеру, AR := array( 'I', 0, 20, 5 ) ).
AR должен быть предварительно заполнен компонентами
<команда>, <строка>, <длина>, <цвет>, <фонт>
<команда> - число 1 или 99. Последнее указывает конец массива и инициирует завершение функции.
<позиция> - число - позиция в <строка>, с которой выводится фрагмент длиной <длина> с заданными атрибутами.
<длина> - длина выводимого фрагмента строки.
<цвет> - цвет вывода
<фонт> - идентификатор фонта.
Итак, функцияя выводит в прямоугольник с координатами Y0, X0, Y1, X1 структурированную массивом строку как одно целое. Каждый фрагмент строки
представлен собственным цветом и фонтом.
Возвращает ширину в пикселах выведенной строки в целом.
SetTextColor( <цвет> ) - установливает цвет текста и возвращает старый.
GetTextCol() - возвращает текущий цвет текста
CharWidth( <строка> ) - возвращает ширину первого знака строки.
Примеры:
CharWidth( "ABC" ) вернет ширину в пикселах сивола 'A';
string := "ABC"
CharWidth( string[2] ) вернет ширину в пикселах сивола 'B'; |