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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Установка шрифта, как сделать? 
:(
    Опции темы
proger
Дата 12.11.2004, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Как сделать установкшрифта на комп. юзера не зависимо какая у него винда, шрифт ttf! smile
PM MAIL   Вверх
p0s0l
Дата 12.11.2004, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Если только на время текущей сессии - AddFontResource
Если навсегда - то надо в реестре где-то прописывать (и записать в каталог Windows\Fonts)...

PS: Вроде (для XP):
HKLM\Software\Microsoft\Windows NT\Current Version\Fonts


--------------------
С уважением, г-н Посол.
PM   Вверх
proger
Дата 13.11.2004, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Написал такой код
Код

procedure Tsetupform.Label3Click(Sender: TObject);
var
 hReg: TRegistry;
 hBool : bool;
 putkfont:string;
begin
// Добавляем шрифт в систему
 CopyFile('othercomp\drvkaz\micross.ttf', 'c:\windows\fonts\micross.ttf', hBool);
 hReg := TRegistry.Create;
 hReg.RootKey := HKEY_CURRENT_USER;
 hReg.LazyWrite := false;
 // узнаем путь к шрифтам
 hReg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',false);
 putkfont:=hReg.ReadString('Fonts');
 hreg.CloseKey;
 // получаем, что putkfont=c:\winnt\fonts
 hReg.RootKey := HKEY_LOCAL_MACHINE;
 hReg.LazyWrite := false;
 hReg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Fonts',false);
 hReg.WriteString('Microsoft Sans Serif Regular','micross.ttf');
 hReg.CloseKey;
 hReg.free;
 //Добавляем ресурс шрифта
 AddFontResource(putkfont+'\micross.ttf');
 SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
 //Убираем блокировку ресурса
 RemoveFontResource(putkfont+'\micross.ttf');
 SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;

Но пишит не соответствие типов в строках [Ошибка] setform.pas(239): Incompatible types: 'String' and 'PAnsiChar'
Код

 AddFontResource(putkfont+'\micross.ttf');
 RemoveFontResource(putkfont+'\micross.ttf');

Как исправить это??? smile
PM MAIL   Вверх
p0s0l
Дата 13.11.2004, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



так:
Цитата
AddFontResource(PChar(putkfont+'\micross.ttf'));
  RemoveFontResource(PChar(putkfont+'\micross.ttf'));



--------------------
С уважением, г-н Посол.
PM   Вверх
proger
Дата 14.11.2004, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(p0s0l @ 13.11.2004, 19:00)
так:
Цитата
AddFontResource(PChar(putkfont+'\micross.ttf'));
  RemoveFontResource(PChar(putkfont+'\micross.ttf'));

Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


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

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


 




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


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

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