Вниз
Скачать: CL | DM;

Проблема загрузки шрифта   Найти похожие ветки 

← →
VovKul   (2008-06-04 11:09) [0]

Скажите, пожалуйста, почему не работает этот код. Почему не загружается новый шрифт в систему (по крайней мере, моя программа не видит его)
procedure TForm1.FormCreate(Sender: TObject);
begin
  AddFontResource(PChar(ExtractFilePath(ParamStr(0) + "YourFont.TTF")));
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  RemoveFontResource(PChar(ExtractFilePath(ParamStr(0) + "YourFont.TTF")));
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;


← →
Olegz77 ©   (2008-06-04 11:27) [1]

По поводу используемых функций ничего не могу сказать. А ошибки нет со скобками при формировании имени файла шрифта - внутри приведения PChar ? ExtractFilePath должен обрабатывать, скорее всего, ParamStr(0), а не ParamStr(0) + "YourFont.TTF"
Наверное так:
PChar(ExtractFilePath(ParamStr(0)) + "YourFont.TTF")


← →
{RASkov} ©   (2008-06-04 13:33) [2]

> [0] VovKul   (04.06.08 11:09)

Что покажет данный код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 ShowMessage(IntToStr(
   AddFontResource(PChar(ExtractFilePath(ParamStr(0) + "YourFont.TTF"))));
 SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;
?
Если 0 - значит нет шрифтов в файле или самого файла со шрифтом нет....


← →
Anatoly Podgoretsky ©   (2008-06-04 14:04) [3]

> VovKul  (04.06.2008 11:09:00)  [0]

AddFontResource вообще то функция, а не процедура, а у тебя не видно анализа и обработки ошибок. Ты что хочешь, что бы мы по телепатировали?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
2-1206277932
Пётр
2008-03-23 16:12
2008.06.29
Ошибка у Canvas а


4-1192313033
snoopy
2007-10-14 02:03
2008.06.29
Handle на все принтеры установленные в системе


2-1212069255
Vlad Oshin
2008-05-29 17:54
2008.06.29
RTTI. Не понял что за результат


6-1189576836
ient
2007-09-12 10:00
2008.06.29
Принудительный вызов Recv в чужом приложении


2-1212412416
Ceil
2008-06-02 17:13
2008.06.29
Переименование




   Наверх