Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2010, 15:45   #1
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
Вопрос Шрифты

Здравствуйте.Возможно ли использовать в Delphi внешние шрифты(лежат в папке с программой),то есть не установленные в систему.За ранние спасибо!
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 22.10.2010, 16:46   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Да запросто...
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
//объявляем свой шрифт
AddFontResource('IZHITSA.TTF') ;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
//применяем его
Button1.font.name := 'IZHITSA';
//Button1.font.size := 10;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
//ликвидируем
RemoveFontResource('IZHITSA.TTF') ;
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;
mihali4 вне форума Ответить с цитированием
Старый 24.10.2010, 16:25   #3
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

что-то не работает
Код:
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm4 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
begin

label1.Caption:='hi!';
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
AddFontResource('MTCORSVA.TTF');
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
label1.Font.Name:='MTCORSVA';
label1.Font.Size:=14;
end;

procedure TForm4.FormDestroy(Sender: TObject);
begin
RemoveFontResource('MTCORSVA.TTF');
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
end;

end.
что я не правильно делаю?
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 24.10.2010, 16:39   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

У меня работает... (Дельфи 7)
Приложите к ответу файл со шрифтом, я его опробую.
mihali4 вне форума Ответить с цитированием
Старый 25.10.2010, 06:55   #5
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Может проблема в том что у меня Delphi 2010?
Вложения
Тип файла: rar MTCORSVA.rar (92.5 Кб, 12 просмотров)
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 25.10.2010, 07:58   #6
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Цитата:
AddFontResource('IZHITSA.TTF') ;
Советую вместо 'IZHITSA.TTF' писать полный путь к файлу шрифта. Если в той же папке, что и прога, то:
Код:
AddFontResource(ExtractFilePath(Application.ExeName)+'\IZHITSA.TTF');
Насчет слэша не уверен, попробуйте с ним/без него.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 25.10.2010, 15:05   #7
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Вобще ругается на эту строку
Код:
AddFontResource(ExtractFilePath(Application.ExeName)+'MTCORSVA.TTF');
текст ошибки:
Несовместимость типов string and PWideChar
что делать?
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 25.10.2010, 15:13   #8
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Тогда приведем типы:
Код:
AddFontResource(PChar(ExtractFilePath(Application.ExeName)+'MTCORSVA.TTF'));
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 25.10.2010, 15:21   #9
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Упс забыл Только все равно не работает
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 25.10.2010, 16:50   #10
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Что пишет? Или просто не загружает?
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GPL шрифты Alex Cones Помощь студентам 2 04.06.2010 17:14
Шрифты zzzzz Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 11.05.2009 16:35
шрифты NieL Общие вопросы Delphi 1 22.12.2008 17:43
Шрифты Михаил Юрьевич Общие вопросы Delphi 2 01.05.2008 20:34
Шрифты Witaliy Общие вопросы Delphi 1 27.04.2008 23:31