Фрагмент программы выводящей текст с заданным шрифтом (см Рисунок )
Рисунок 2.1.3. Фрагмент программы, выводящей текст с заданным шрифтом (см. Рисунок 2.1.5).
Как видно из фрагмента, создание шрифта производится по следующей схеме: надо задать шрифт при помощи функции CreateFontIndirect, выбрать шрифт функцией SelectObject, вывести текст заданным шрифтом, удалить созданный шрифт (объект). Поле LfFaceName структуры LOGFONT должно содержать название шрифта. Если такого шрифта нет, выводится шрифт по умолчанию. Название шрифта у нас задано в строке NFONT, и мы копируем его в поле LfFaceName при помощи функции COPYSTR, текст которой приводится на Рисунок 2.1.4.
; процедура копирования одной строки в другую ; строка, куда копировать [EBP+08H] ; строка, что копировать [EBP+0CH] COPYSTR PROC PUSH EBP MOV EBP,ESP MOV ESI, DWORD PTR [EBP+0CH] MOV EDI, DWORD PTR [EBP+08H] L1: MOV AL,BYTE PTR [ESI] MOV BYTE PTR [EDI],AL CMP AL,0 JE L2 INC ESI INC EDI JMP L1 L2: POP EBP RET 8 COPYSTR ENDP