![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отобразить в Label текст неустановленным на компе шрифтом [D7, WinXP]
Дмитрий_177 © (2006-03-21 17:59:00)Вобщем скачал я на компъютер шрифт с расширением *.ttf поместил его в папку Fonts, в папке где лежит моя программа. Вот хотел бы его какнибудь в Label-е отобразить, точнее текст таким шрифтом, не устанавливая его на компъютере. Как так можно сделать?
clickmaker (2006-03-22 10:30:00) [1]HKEY_CLASSES_ROOT\ttffile\shell\open\command
(Default) = %SystemRoot%\System32\fontview.exe %1
Дмитрий_177 (2006-03-21 21:47:00) [2]по даблклику-то в ACDSee и открывается ))))
clickmaker (2006-03-21 19:29:00) [3]
> сейчас скачал программу для просмотра шрифтов
дык винда сама умеет. По даблклику-то
Дмитрий_177 (2006-03-21 19:12:00) [4]у меня его ACDSee открывала... и там ничего небыло, просто как пример как им будет написано слово "Font" этим шрифтом, как фотка и все... я сейчас скачал программу для просмотра шрифтов, и там все увидел )))
Дмитрий_177 (2006-03-21 19:10:00) [5]я разобрался ))) спасибо ))
clickmaker (2006-03-21 19:09:00) [6]
> Дмитрий_177 (21.03.06 19:00) [9]
ну если ты его просто откроешь даблкликом, то что у тебя в окне инфы о шрифте?
Дмитрий_177 (2006-03-21 19:00:00) [7]я и так попробовал, всеравно... Label1.Font.Name := 'cristal.ttf';
Дмитрий_177 (2006-03-21 18:59:00) [8]т.е. так у меня не работает почему-то:
FontPath: String;
procedure TForm1.FormCreate(Sender: TObject);
begin
FontPath := ExtractFilePath(Application.ExeName) + 'Fonts\cristal.ttf';
if AddFontResourceEx(PChar(FontPath), FR_PRIVATE, 0) <> 0 then
Label1.Font.Name := 'cristal';
Label1.Caption := FormatDateTime('tt', Time);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
RemoveFontResourceEx(PChar(FontPath), FR_PRIVATE, 0);
end;
clickmaker (2006-03-21 18:58:00) [9]имя шрифта не всегда = имени файла
Дмитрий_177 (2006-03-21 18:55:00) [10]не работает почему-то...(((
clickmaker (2006-03-21 18:53:00) [11]
> случаянно не так Label.Font.Name:='cristal';
если это его имя, то так
Дмитрий_177 (2006-03-21 18:52:00) [12]делаю я так: поправьте если неправильно что-то... Я там с флажками не очень разобрался, но думаю что FR_PRIVATE нужно а не FR_NOT_ENUM. Вот я "загрузил" шрифт, а как мне его Label.Font.Name присвоить? случаянно не так Label.Font.Name:='cristal';?
FontPath: String;
procedure TForm1.FormCreate(Sender: TObject);
begin
FontPath := ExtractFilePath(Application.ExeName) + 'Fonts\cristal.ttf';
if AddFontResourceEx(PChar(FontPath), FR_PRIVATE, 0) <> 0 then
begin
end;
Label1.Caption := FormatDateTime('tt', Time);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
RemoveFontResourceEx(PChar(FontPath), FR_PRIVATE, 0);
end;
Дмитрий_177 (2006-03-21 18:19:00) [13]я имел ввиду папку Fonts не в папке Windows, а в своей папке Fonts, она находится где exe-файл программы
clickmaker (2006-03-21 18:16:00) [14]AddFontResourceEx
TStas (2006-03-21 18:15:00) [15]А разве он подобным образом не установился? Может, стоило перезапустить Дельфи, чтобы они шрифт увидели