Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 670

•  TDictionary Custom Sort  5 800

•  Fast Watermark Sources  5 603

•  3D Designer  8 218

•  Sik Screen Capture  5 913

•  Patch Maker  6 388

•  Айболит (remote control)  6 378

•  ListBox Drag & Drop  5 237

•  Доска для игры Реверси  94 551

•  Графические эффекты  6 570

•  Рисование по маске  5 644

•  Перетаскивание изображений  4 760

•  Canvas Drawing  5 135

•  Рисование Луны  4 863

•  Поворот изображения  4 411

•  Рисование стержней  3 116

•  Paint on Shape  2 360

•  Генератор кроссвордов  3 228

•  Головоломка Paletto  2 551

•  Теорема Монжа об окружностях  3 328

•  Пазл Numbrix  2 200

•  Заборы и коммивояжеры  2 849

•  Игра HIP  1 820

•  Игра Go (Го)  1 740

•  Симулятор лифта  2 072

•  Программа укладки плитки  1 798

•  Генератор лабиринта  2 240

•  Проверка числового ввода  1 925

•  HEX View  2 226

•  Физический маятник  1 911

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Включение шрифта как ресурс в EXE



Идет как-то Товарищ Комманд Ком по диску, смотрит по сторонам и удивляется: ветки у деревьев поломаны, файлы дефрагментированы, что не разберешь где какой, Командир Нортон в архив запихнут!!! Ну, пожалел его Комманд Ком, вытащил из архива и спрашивает:
- Кто ж это тебя так, бедненького?!!
А командир Нортон ему и отвечает:
- Какой ты, Товарищ Комманд Ком, добрый и заботливый... когда трезвый!!!

Включение шрифта в ваш 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.





Похожие по теме исходники

БД Ресурсы Интернета

Erase self EXE

EXE/PE Properties

Binary Search Images in EXE

 

HWnd2EXE

Exec and Wait

Add Code to EXE

Executor

 

ExeFog (сжатие EXE)

PE EXE Coder




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте