Включение шрифта как ресурс в *.EXE :: Статьи по Delphi - Iguana
Поиск по базе статей [/articles/?PHPSESSID=f0a566e41f049c817a4c7bf5973e7517] : 18.08.2006 Изменено разрешение сайта Изменено минимальное разрешение сайта на 1024x768 Подробнее... 02.08.2006 Выгружена игра "Digger Remastered" Вспоминаем старый добрый DOS и времена 80-х! ;) Подробнее... Рекомендуем книгу! Самоучитель Delphi Эта книга не является справочником по Delphi. Это краткий и одновременно достаточно подробный самоучитель, который позволит вам быстро научиться работать в среде Delphi. В нем содержатся достаточно подробные данные о самой среде разработки и принципах соз ... Включение шрифта как ресурс в *.EXE :: Статьи по Delphi Включение шрифта в ваш EXE: Используйте ваш любимый текстовый редактор, создайте *.rc файл, описывающий шрифт: MY_FONT ANYOL1 "Bauhs93.ttf" Первые два параметра могут быть любыми. Они будут использоваться в программе позже. Затем для создания *.res файла используйте компилятор командной строки BRCC32.EXE, поставляемый с Delphi. Если ваш файл на этапе 1 был назван MyFont.rc, командная строка в сеансе DOS должна выглядеть так: BRCC32 MyFont Программа добавит в компилируемый файл созданный ресурс .rc и создаст файл с тем же именем, за исключением расширения, которое будет .res: MyFont.res В вашей программе добавьте директиву компилятора, чтобы включить вновь созданный файл: {$R MyFont.res} Правильным будет разместить его в секции реализации после строчки {$R *.DFM} . Добавьте процедуру создания файла из ресурса, делающим шрифт доступным для использования. Пример: procedure TForm1.FormCreate(Sender: TObject); var Res : TResourceStream; begin Res := TResourceStream.Create(hInstance, 'MY_FONT' , Pchar( 'ANYOL1' )); Res.SavetoFile( 'Bauhs93.ttf' ); Res.Free; AddFontResource(PChar( 'Bauhs93.ttf' )); SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0); end ; Теперь вы можете использовать данный шрифт в своем приложении: procedure TForm1.Button1Click(Sender: TObject); begin Button1.Font.Name := 'Bauhaus 93' ; end ; Предостережения: Приведенный пример не предусматривает никакой проверки и защиты от возможных ошибок. Обратите внимание - имя файла НЕ такое же, как имя шрифта. Это допускает, что вы знаете имя шрифта и имя его ttf-файла. Вы можете определить это, дважды щелкнув на файле в окне Проводника. Я рекомендую устанавливать файл шрифта в папку C:\WINDOWS\FONTS. Его легче отыскать потом именно там. Ваш вновь установленный шрифт может быть удален программным путем, естественно, в случае, когда он никем не используется: procedure TForm1.FormDestroy(Sender: TObject); begin RemoveFontResource(PChar( "Bauhs93.ttf" )); SendMessage(HWND_BROADCAST,WM_FONTCHANGE, 0 , 0 ); end ; Для получения дополнительной справки по функциям AddFontResource и RemoveFontResource загляните в электронную справку по Win32. Copyright 2001-2007 © "Iguana Software" . О компании | Продукты | Усуги | Заявление о приватности | Правила использования | Обратная связь IGP Delphi Forum | Библиотека VCL | Увлекательные знакомства, Украина