Главная страница
Навигация по странице:

  • CreateFontIndirect

  • SetTextColor

  • Алгоритмизации


    Скачать 1.15 Mb.
    НазваниеАлгоритмизации
    Дата27.09.2022
    Размер1.15 Mb.
    Формат файлаdocx
    Имя файла12_100229_1_124427 (1).docx
    ТипДокументы
    #700459
    страница64 из 67
    1   ...   59   60   61   62   63   64   65   66   67

    ИнструментFont


    Более сложным инструментом является шрифт. Все символы в оконном интерфейсе формируются в соответствии с одним из зарегистрированных в системе шрифтов.

    Физический шрифт файл (образ в памяти) с описанием начертаний всех известных в данном шрифте символов. Логический шрифт – объект

    Приложение6

    GDI, характеризуемый как физическим шрифтом, так и его конкретными характеристиками. Он же является и инструментом, отвечающим за формирование символов.

    Для созданиялогического шрифта используется функция

    HFONT CreateFont(int nHeight, int nWidth, int nEscapement,

    int nOrientation, int fnWeight, DWORD fdwItalic, DWORD fdwUnderline, DWORD fdwStrikeOut, DWORD fdwCharSet,

    DWORD fdwOutputPrecision, DWORD fdwClipPrecision, DWORD fdwQuality, DWORD fdwPitchAndFamily, LPCTSTR lpszFace);

    возвращающая описатель созданного инструмента (NULL ошибка), параметры:

    nHeight – основной размер (высота) шрифта в логических единицах: положительное значение определяет высоту знакоместа, отрицательное – высоту шрифта (после смены знака), нулевое размер по умолчанию; при неточном соответствии требуемого размера выбирается наибольший, не превышающий требуемый;

    nWidth– «приблизительная» ширина шрифта, если 0 – стандартная для выбранного основного размера;

    nEscapement – направление вывода строки символов (угол между базовой линией и горизонтальной осью по часовой стрелке в десятых долях градуса);

    nOrientation ориентация отдельного символа (исчисление аналогично предыдущему параметру, в Windows 9x ориентация символов и направление вывода должны совпадать);

    fnWeight – толщина символов в условных единицах от 0 до 1000, например: 0 (FW_DONTCARE) – стандартный (по умолчанию), 400 (FW_NORMAL, FW_REGULAR) стандартная толщина, обычный шрифт, 700 (FW_BOLD) – жирный, выделенный, и т.д.;

    fdwItalic, fdwUnderline, fdwStrikeOut флаги, указывающие, является ли шрифт наклонным, подчеркнутым или перечеркнутым;

    fdwCharSet– тип символьного набора: DEFAULT_CHARSET, ANSI_CHARSET, OEM_CHARSETи т.д. (национальные наборы символов);

    fdwOutputPrecision – «точность вывода» символов, фактически предпочтение типа шрифта при наличии альтернативного выбора: OUT_DEFAULT_PRECIS, OUT_DEVICE_PRECIS и т.д.;

    fdwClipPrecision точность отсечения;

    fdwQuality качество вывода;

    fdwPitchAndFamily комбинация по «ИЛИ» двух групп параметров, действующих при неопределенном имени шрифта:

      • питч (шаг символов) 2 младших бита: DEFAULT_PITCH, FIXED_PITCH, VARIABLE_PITCH;

      • «семейство» шрифта 4 старших бита: FF_DONTCARE по умолчанию, FF_MODERN моноширинные шрифты, FF_ROMAN


    Приложение6

    «книжные» с засечками (переменный шаг), FF_SWISS без засечек (переменный шаг), FF_SCRIPT – «рукописные» и курсивные; lpszFace – имя шрифта, обычно совпадает с именем его дискового

    файла; если NULL система подбирает шрифт, наиболее отвечающий заданным требованиям, иначе явно указанный шрифт перекрывает их.

    Функция CreateFontIndirect(const LOGFONT* lplgFont); использует в качестве аргумента структуру с полями аналогичного назначения.

    Параметры шрифта не включают цвет отображающего инструмента.

    Управление цветом выводимого текста осуществляется функциями

    COLORREF SetTextColor(hdc, crColor); COLORREF GetTextColor (hdc);

    Базовой функцией вывода символа является

    BOOL TextOut(hdc, nXStart, nYStart, lpString, cbString);

    Позицией символа считается верхний левый угол его знакоместа.

      1. 1   ...   59   60   61   62   63   64   65   66   67


    написать администратору сайта