Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Установка шрифта. Определяется, но не пишет. 
:(
    Опции темы
iddqd
Дата 25.10.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



Устанавливаю шрифт вот так:
Код

{$R 'font.RES'}
{$R *.res}
var
  Res: TResourceStream;

begin
  Application.Initialize;
  Res := TResourceStream.Create(hInstance, 'FONT', Pchar('ANYOL1'));
  Res.SavetoFile('Code128.ttf');
  Res.Free;
  AddFontResource(PChar('Code128.ttf'));
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
  //DeleteFile('Code128.ttf');
  Application.CreateForm(TFormMain, FormMain);
  Application.CreateForm(TServerForm, ServerForm);
  Application.Run;

При этом после запуска приложения в списке доступных шрифтов он есть, но символы этим шрифтом писать невозможно.
Что не так?

PS. Если установить его по-человечески, то всё будет нормально. Но мне надо программно.


--------------------
PM MAIL   Вверх
iddqd
Дата 25.10.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



Сделал вот так:
Код

function GetWinPath: string;
var
  WinDir: string;
  WindirP: PChar;
  Res: Cardinal;
begin
  WinDirP := StrAlloc(MAX_PATH);
  Res := GetWindowsDirectory(WinDirP, MAX_PATH);
  if Res > 0 then
    WinDir := StrPas(WinDirP);
  Result := WinDir;
end;

begin
  Application.Initialize;
  Res := TResourceStream.Create(hInstance, 'FONT', Pchar('ANYOL1'));
  Res.SavetoFile(ExtractFilePath(Application.ExeName) + 'code128.TTF');
  Res.Free;
  CopyFile(PCHar(ExtractFilePath(Application.ExeName) + 'code128.TTF'), PCHar(GetWinPath + '\Fonts\code128.TTF'), true);
  AddFontResource(PChar(ExtractFilePath(Application.ExeName) + 'code128.TTF'));
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
  DeleteFile('code128.TTF');

Теперь шрифт появляется в Панели задач->Шрифты, но результат прежний :\


--------------------
PM MAIL   Вверх
Yanis
Дата 1.11.2006, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 13
Всего: 111



iddqd
Тебе нужно инсталировать шрифт на время работы своей программы, что бы в ней писать этим шрифтом? Или тебе нужно установить шрифт в систему, что бы он был доступен всем приложениям?


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
xpby
Дата 25.3.2011, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.3.2011

Репутация: нет
Всего: нет



и как установить шрифт в систему, что бы он был доступен всем приложениям и был в папке \windows\fonts?

спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.