![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема загрузки шрифта [D7, XP]
VovKul © (2008-06-04 11:09:00)Скажите, пожалуйста, почему не работает этот код. Почему не загружается новый шрифт в систему (по крайней мере, моя программа не видит его)
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;
Anatoly Podgoretsky (2008-06-04 14:04:00) [1]> VovKul (04.06.2008 11:09:00) [0]
AddFontResource вообще то функция, а не процедура, а у тебя не видно анализа и обработки ошибок. Ты что хочешь, что бы мы по телепатировали?
{RASkov} (2008-06-04 13:33:00) [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 - значит нет шрифтов в файле или самого файла со шрифтом нет....
Olegz77 (2008-06-04 11:27:00) [3]По поводу используемых функций ничего не могу сказать. А ошибки нет со скобками при формировании имени файла шрифта - внутри приведения PChar ? ExtractFilePath должен обрабатывать, скорее всего, ParamStr(0), а не ParamStr(0) + 'YourFont.TTF'
Наверное так:
PChar(ExtractFilePath(ParamStr(0)) + 'YourFont.TTF')