Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример работы с базовыми шрифтами




Выбор опорной точки для вывода в окно текстовых сообщений.

По умолчанию текст располагается так, чтобы опорная точка совпадала с левой верхней точкой прямоугольника, куда помещается текст, при этом высота прямоугольника равна высоте символов шрифта, а длина-длине текста. Место положение опорной точки можно менять с помощью функции SetTextAlign (ByValhdcAsLong, ByValwFlagsAsLong) AsLong

Аргумент wFlags может содержать комбинации следующих констант с префиксом TA_.

TA_BASELINE=24 –выравнивание по базовой линии шрифта.

TA_BOTTOM=8 –выравнивание по нижней стороне охватывающего прямоугольника.

TA_CENTER=6 —выравнивание по центру верхней стороны охватывающего прямоугольника. TA_LEFT=0 —выравнивание по левой стороне охватывающего прямоугольника.

TA_TOP=0 —выравнивание по верхней стороне охватывающего прямоугольника.

TA_RIGHT=2 –выравнивание по правой стороне охватывающего прямоугольника.

ТA_UPDATECP= 1 –координаты x,y функции TextOut игнорируются, вывод осуществляется относительно текущего положения пера(функция MoveToEx)

Для вывода много строчного текста используют функцию DrawText (ByValhdcAsLong,ByVallpStrAsString,ByValnCountAsLong, lpRectAsRECT, _ByValwFormatAsLong) AsLong Здесь аргумент nCount может иметь значение-1, что у кажет на то, что количество символов будет подсчитываться ядром Windows, а не Вами. Аргумент lpRect-переменная структуры RECT, содержащая координаты прямоугольной области:

TypeRECTLeftAsLong -X координата левого верхнего угла;

TopAsLong -Y координата левого верхнего угла;

RightAsLong -X координата правого нижнего угла; BottomAsLong- Y координата правого нижнего угла. EndType Координаты прямоугольной области должны быть заданы до вызова функции DrawText. Аргумент wFormat задает формат вывода текста. Форматы вывода текста начинаются с префикса DT_.

DT_BOTTOM—выравнивание по нижней части прямоугольной области. DT_TOP –выравнивание по верхней части прямоугольной области. DT_LEFT –выравнивание по левому краю прямоугольной области.

DT_RIGHT –выравнивание по правому краю прямоугольной области.

DT_CENTER –центрирование по горизонтали.

DT_VCENTER –центрирование по вертикали. DT_CALCRECT –динамически меняет ширину прямоугольной области.

DT_SINGLELINE –вывод текста в одну строку. DT_WORDBREAK –текст переносится на новую строку при достижении правой границы области, а разрыв строки происходит между словами.


Если Вам необходимо изменить шрифт на один из семи базовых (предопределенных) шрифтов, то используют функции GetStockObject и SelectObject. Пример88. Продемонстрировать работу с базовыми шрифтами. DimMyDCAsLong, S AsString, y AsIntegerDimFntAsLong, OldFntAsLong, FntName(10 To16)AsString SubPrintFont(ByValf AsInteger) Fnt= GetStockObject(f) OldFnt= SelectObject (MyDC, Fnt)S = FntName(f)Call TextOut (MyDC, 10, y, S, Len (S))у= y + 20S = "ABCDEFGabcdeg0123456789АБВГДЕЖабвгдеж"

CallTextOut(MyDC, 10, y, S, Len(S)) у= y + 20Call SelectObject(MyDC, OldFnt) EndSub PrivateSubCommand1_Click() у= 20'Начальное значение ординаты MyDC= GetDC (hWnd)ForK% = 10 To16IF K Mod2 = 1 ThenR= 1ElseR = 2EndIFCall

SetBkMode (MyDC, R)'Режим отображения прямоугольника

Call SetBkColor (MyDC, &H50FFF1 * K)

Цвет прямоугольника Call PrintFont(K) NextCall ReleaseDC(hWnd, MyDC) EndSubPrivateSubForm_Load() Caption="Пример использования базовых шрифтов"BackColor= &HFFFFFFFntName(10) = "Oem_Fixed_Font"FntName(11) = "Ansi_Fixed_Font"FntName(12) = "Ansi_Var_Font"FntName(13) = "System_Font"FntName(14) = "Device_Default_Font"FntName(15) = "Default_Pallete"FntName(16) = "System_Fixed_Font" EndSub

 


90. Создание логического шрифта функциями CreateFont, CreateFontIndirect.

Создать собственный логический шрифт, доступный системе, на основе контурного шрифта можно с помощью функций CreateFont и CreateFontIndirect. Обе они возвращают дескриптор шрифта, который следует связать с контекстом функцией SelectObject, а после вывода текстовой информации удалить его из памяти функцией DeleteObject. Функция CreateFont имеет 14 параметров, а функция CreateFontIndirect -один параметр типа LOGFONT с теми же 14-ю полями данных. TypeLOGFONT

lfHeightAsLong' Высота шрифта

lfWidthAsLong'Средняя ширина строчной буквы lfEscapementAsLong' Наклон строки или символа lfOrientationAsLong'Наклон символа lfWeightAsLong'Жирность шрифта lfItalicAsByte'Признак курсива

lfUnderlineAsByte'Признак подчеркивания lfStrikeOutAsByte'Признак перечеркивания lfCharSetAsByte'Набор символов lfOutPrecisionAsByte' Точность отображения lfClipPrecisionAsByte'Отсечение lfQualityAsByte'Качество прорисовки lfPitchAndFamilyAsByte'Семейство шрифта lfFaceName(1 To32) AsByte'Имя шрифта EndType Назначение полей(параметров) структуры следующее. lf Height—высота символов. Значение, большее0 (до16384), указывает на высоту шрифта в пикселях. Если же это значение равно0, то используется умалчиваемое значение. lfWidth—ширина символов. Для пропорциональных

шрифтов означает среднюю ширину строчных букв. Если параметр равен 0, ширина выбирается пропорционально высоте символа. lfEscapement—угол наклона базовой линии символов или строк к горизонтальной оси в десятых долях градуса. Положительный угол означает поворот базовой линии против часовой стрелки. lfOrientation—этот параметр зарезервирован. lfWeight-коэффициент, указывающий на жирность шрифта: FW_THIN =100 'Очень тонкий шрифт

FW_EXTRALIGHT = 200 'Очень светлый шрифт FW_LIGHT =300 'Светлый шрифт

FW_NORMAL = 400 'Нормальный шрифт FW_MEDIUM = 500 'Утолщенный шрифт FW_SEMIBOLD = 600 'Полужирный шрифт

FW_BOLD=700 'Жирный шрифт

FW_EXTRABOLD = 800 ' Усиленный шрифт FW_BLACK = 900 'Тяжелый шрифт

lfItalic-определяет наклонность символов, когда равно 1.

I/Underline-определяет подчеркнутость символов, когда равно1.

lfStrikeOut—определяет перечеркнутость, когда равно1.lfCharSet-определяет набор символов: ANSI_CharSet=0(Windows-кодировка, поддерживает кириллицу); Symbol_CharSet=2 иShiftJis_Char-Set=128 содержат греческий алфавит, спец символы и различные пиктограммы, не поддерживающие кириллицу.

lfOutPrecision—задает точность представления символов на физическом устройстве. Рекомендуемые значения: Out_Character_precis= 2,

Out_Default_precis= 0, Out_Device_precis= 5, Out_Outline_precis= 8, Out_Raster_precis= 6, Out_String_precis= 1, Out_Stroke_precis= 3, Out_TT_only_precis= 7, Out_TT_precis= 4.lfQuality-определяет качество прорисовки шрифта и может иметь одно из значений: Default_Quality=0,Draft_Quality=1,Proof_Quality=2 (поумолчанию). lfFaceName-задает имя шрифта. Например, «CourierNewСуг».lfPitchAndFamily—выбор семейства шрифта. Рекомендуемые значения: Default_Pitch=0 (по умолчанию), Fixed_Pitch=1(моноширинный), Variable_Pitch=2 (пропорциональный).Обычно в комплект русифицированных версий Windows входит более 30 контурных шрифтов(TrueType

шрифтов), поддерживающих кириллицу. Среди них основными в работе с документами являются три шрифта: CourierNewCyr, ArialCyr, TimesNewRomanCyr. Все контурные шрифты имеют по 4 начертания: обычный, наклонный, жирный, жирный наклонный. Шрифт ArialCyr -это пропорциональный шрифт без украшений, используемый в основном для заголовков, оглавлений документов. CourierNew -это моноширный шрифт, похожий на шрифт канцелярской пишущей машинки, используемый в оформлении таблиц. TimesNewRomanCyr -изящный в начертании шрифт, используемый при оформлении документов.





Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 366; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.