ется для внесения в список имен доступных шрифтов TrueType. Когда пользователь выбирает пункт меню Test!, в приложении используется функция EnumFontFamilies для выборки структуры LOGFONT, соответствующей шрифту. Затем в приложении с помощью функции CreateFontlndirect создается шрифт, и отображается пример вывода с использованием созданного шрифта. |
||||
См. \local-sources\chapl2\12-07.txt |
||||
Синтаксис обратного вызова |
||||
int CALLBACK EnumFontFamExProc( ENUMLOGFONTEX* Ipelfe, NEWTEXTMETRICEX* Ipntme, DWORD FontType, LPARAM IParam ) |
||||
Параметры обратного вызова |
||||
Ipelfe |
ENUMLOGFONTEX*. Указатель на структуру ENUMLOGFONTEX, которая содержит информацию о логических атрибутах шрифта. Определение структуры ENUMLOGFONTEX приведено ниже. |
|||
Ipntme |
NEWTEXTMETRICEX*. Указатель на структуру NEWTEXTMETRICEX, которая содержит информацию о физических атрибутах шрифта. В Windows 98 структура NEWTEXTMETRICEX не реализована; вместо нее применяется NEWTEXTMETRIC. Определение структуры NEWTEXTMETRICEX приведено ниже. Определение структуры NEWTEXTMETRIC приведено в описании функции EnumFontFamilies ранее в этой главе. |
|||
FontType |
DWORD. Тип шрифта. В качестве этого параметра может применяться комбинация DEVICE_FONTTYPE, RASTER_FONTTYPE иTRUETYPE_FONTTYPE. Для определения того, какие типы шрифтов установлены в системе, применяется двоичный оператор AND (&). |
|||
IParam |
LPARAM. Данные, определяемые приложением, передаваемые функции EnumFontFamiliesEx. |
|||
Возвращаемое значение обратного вызова int. Для продолжения перечисления должно быть возвращено значение, отличное от нуля; для прекращения перечисления возвращаемое значение должно быть равно 0. |
||||
Определение ENUMLOGFONTEXtypedef struct tagENUMLOGFONTEX{ LOGFONT elfLogFont; TCHAR elfFullName[LF_FOLLFACESIZE]; TCHAR elfStyle[LF_FACESIZE] ; TCHAR elf Script [LF_FACESIZE] ; } ENUMLOGFONTEX; |
||||
Члены |
||||
elfLogFont |
LOGFONT. Дополнительная информация приведена в описании функции CreateFontlndirect. |
|||
elfFullName |
TCHAR. Строка с нулевым символом в конце, содержащая полное имя шрифта. |
|||
elfStyle |
TCHAR. Строка с нулевым символом в конце, содержащая начертание шрифта, например "Bold", "Italic" и т.д. |
|||
elfScript |
TCHAR. Строка с нулевым символом в конце, которая указывает языковую принадлежность шрифта, например "Cyrillic". |
|||
Определение NEWTEXTMETRICEXtypedef struct tagNEWTEXTMETRICEX< NEWTEXTMETRIC ntmentm; FONTSIGNATURE ntmeFontSignature; } NEWTEXTMETRICEX; |
||||
Члены ntmentm |
NEWTEXTMETRIC. Определение приведено в описании функции EnumFontFamilies. |
|||
ntmeFontSignature |
FONTSIGNATURE. Определение приведено ниже. |
|||
Определение FONTSIGNATUREtypedef struct tagFONTSIGNATURE { DWORD fsUsb[4] ; DWORD fsCsb[2] ; } |
||||
Члены |
||||
fsUsb |
DWORD[4]. 128-разрядное битовое поле подмножества уникода (USB — Unicode subset bitfield), которое обозначает до 126 поддиапазонов уникода. Каждый бит, за исключением двух старших значащих битов, представляет отдельный поддиапазон. Первый старший значащий бит всегда равен 1 и обозначает битовое поле как сигнатуру шрифта; второй старший значащий бит зарезервирован и должен быть равен 0. Поддиапазоны уникода пронумерованы в соответствии со стандартом ISO 10646. |
|||
fsCsb |
DWORD[2]. 64-разрядное битовое поле кодовой страницы (СРВ — code-page bitfield), которое обозначает конкретный набор символов или кодовую страницу. Кодовые страницы Windows находятся в 32 младших битах этого битового поля; 32 старших бита используются для кодовых страниц, отличных от Windows. |
|||
Пример |
Следующий пример аналогичен приведенному для функции EnumFontFamilies, за исключением того, что для перебора доступных шрифтов применяется функция EnumFontFamiliesEx. В этом примере показан только код инициализации, который позволяет узнать, как инициализировать структуру LOGFONT и использовать ее с этой функцией. |
|||
См. \local-aources\chapl2\12-08. txt |
||||
GetDC • Windows 98 • Windows 2000 |
||||
Описание |
Функция GetDC выбирает дескриптор контекста устройства отображения (DC) для клиентской области окна. Контекст устройства отображения можно в дальнейшем использовать в функциях GDI для рисования в клиентской области окна. В зависимости от стиля класса окна функция GetDC выбирает общий, принадлежащий классу или приватный контекст устройства. При выборке общего контекста устройства ему присваиваются атрибуты, предусмотренные по умолчанию. Атрибуты, принадлежащие контексту устройства класса и приватному контексту устройства, остаются неизменными. После того как приложение прекращает использовать контекст устройства, его необходимо освободить с помощью функции ReleaseDC. Это требование не является обязательным для контекста устройства класса или приватного контекста устройства. |
|||
Синтаксис |
HOC GetDC( HWND hWnd ) |
|||
Параметры |
||||
hWnd |
HWND. Окно, для которого должен быть получен контекст устройства. |
|||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.