Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2022, 15:04   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию Шрифты

Меня интересует такой вопрос: все шрифты, которые есть при открытии Font-dialog - они все копируются в программу? Или нет?

Просто у меня такой вопрос: если я какому-то элементу задам какой-то шрифт, а потом на другом ПК не будет в винде установлен этот шрифт: что будет тогда?
Kronos913 вне форума Ответить с цитированием
Старый 28.01.2022, 15:06   #2
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Код:
CheckBox1.Font.Name:='Lucida Console';
И если этого шрифта не будет на ПК (мало ли?), что сделает программа?
Kronos913 вне форума Ответить с цитированием
Старый 28.01.2022, 15:28   #3
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Шрифты не копируются. Будут квадратики вместо букв. А для новых ОС будут ромбики с вопросами. А если это менюшки или заголовок окна то будут знаки вопроса.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 28.01.2022, 18:14   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

свой шрифт вшивайте в ресурс программы и потом извлекайте. всё своё ношу с собой, как говорится...
пример кода тут
Код:
unit EXEFonts;
interface
uses Windows,Messages,Classes,Forms,Controls,StdCtrls;
type TForm1=class(TForm)
     Button1:TButton;
     Label1:TLabel;
     procedure LoadFont;
     procedure Button1Click(Sender:TObject);
     private{Private declarations}
     public{Public declarations}
end;
var Form1:TForm1;
implementation
{$R *.DFM}
{$R dialog.res}

procedure TForm1.LoadFont;
var Res:TResourceStream;
begin
   Res:=TResourceStream.Create(hInstance,'MYFONT',Pchar('ANYOL1'));
   Res.SavetoFile('Crystal.ttf');
   Res.Free;
   AddFontResource(PChar('Crystal.ttf'));
   SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;

procedure TForm1.Button1Click(Sender:TObject);
begin
   LoadFont;
   Label1.Font.Name:='Crystal';
end;

end.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 28.01.2022, 18:15   #5
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

а тут исходник.
файл шрифта перед запуском надо удалить - он пытается создать его и использовать.
Вложения
Тип файла: rar EXEFont.rar (316.3 Кб, 3 просмотров)
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шрифты Andrey84 Помощь студентам 6 08.04.2018 10:42
Нужно заменить шрифты на шрифты которые поддерживают кириллицу EvoHotel Фриланс 0 27.05.2012 10:14
Шрифты ZvEr_HaCkEr Общие вопросы Delphi 14 25.10.2010 17:39
Шрифты zzzzz Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 11.05.2009 16:35
шрифты NieL Общие вопросы Delphi 1 22.12.2008 17:43