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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2008, 21:23   #1
PONKA
Пользователь
 
Регистрация: 21.04.2008
Сообщений: 38
По умолчанию bmp и paintbox, использование шрифта?

Здравствуйте! Помогите решить две задачи:
1. Есть рисунки-bmp, которые находятся в файле ресурсов (p.res). Их надо вставить в paintbox. В принципе все получается и компилируется, но при запуске программы выдается ошибка, что не может найти этот вмп.
2. Как вставить свой шрифт в программу, что бы он мог использоваться компонентом Edit. Так не получается:

procedure TForm1.FormCreate(Sender: TObject);
begin
AddFontResource(PChar(ExtractFilePa th(ParamStr(0) + 'YourFont.TTF')));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;

Заранее спасибо за ответы!
PONKA вне форума Ответить с цитированием
Старый 03.05.2008, 22:17   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

2 вопрос: разберитесь со скобками
AddFontResource(PChar(ExtractFilePa th(ParamStr(0)) + 'YourFont.TTF'));
1 вопрос: хотелось бы увидеть ваш код.
_Dmitry вне форума Ответить с цитированием
Старый 06.05.2008, 21:40   #3
PONKA
Пользователь
 
Регистрация: 21.04.2008
Сообщений: 38
По умолчанию

С картинками все в порядке. А вот со шрифтом нет. Сделала файл font.res с нужным шрифтом и попыталась им воспользоваться - не получилось, все компилируется, но нужный мне компонент почемуто не может им воспользоваться. Код такой:

procedure TForm1.FormCreate(Sender: TObject);
var
Res : TResourceStream;
begin

Res := TResourceStream.Create(hInstance, 'FONT', Pchar('ANYOL1'));
Res.SavetoFile('myF.ttf');
Res.Free;
AddFontResource(PChar('myF.ttf'));
SendMessage(HWND_BROADCAST,WM_FONTC HANGE,0,0);

form1.Edit1.Font.Name:='myF';
end;

Это Едит1 не использует нужный шрифт.... Помогите, в чем тут дело??!
PONKA вне форума Ответить с цитированием
Старый 06.05.2008, 21:51   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Давайте разбираться...
1. Проверьте, извлекается ли шрифт из ресурса в файл myF.ttf
2. Имя файла со шрифтом и имя шрифта могут не совпадать...

AddFontResource('myF.ttf');
SendMessage(HWND_BROADCAST,WM_FONTC HANGE,0,0);
form1.Edit1.Font.Name:='myF';
_Dmitry вне форума Ответить с цитированием
Старый 07.05.2008, 14:10   #5
PONKA
Пользователь
 
Регистрация: 21.04.2008
Сообщений: 38
По умолчанию

Да, наверное, дело в этом. Имя файла myF.ttf, а как тогда узнать имя самого шрифта?
PONKA вне форума Ответить с цитированием
Старый 07.05.2008, 17:11   #6
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Установить шрифт в систему, посмотреть его имя и удалить
_Dmitry вне форума Ответить с цитированием
Старый 08.05.2008, 21:34   #7
PONKA
Пользователь
 
Регистрация: 21.04.2008
Сообщений: 38
По умолчанию

Узнала имя шрифта, но все равно не получается. Начну сначала, есть Едит1 и шрифт, задача в том что бы Едит пользовался этим шрифтом. Пробовала просто копировать шрифт в папку Fonts и присвоить в коде едиту этот шрифт, но не получилось. В Ворде шрифт работает, в папку с системными шрифтами устанавливается, но гда надо не работает.....
PONKA вне форума Ответить с цитированием
Старый 08.05.2008, 22:03   #8
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Выкладывайте здесь файл со шрифтом, посмотрю...
_Dmitry вне форума Ответить с цитированием
Старый 09.05.2008, 11:16   #9
PONKA
Пользователь
 
Регистрация: 21.04.2008
Сообщений: 38
По умолчанию

Вот файл со шрифтом
Вложения
Тип файла: zip myF.zip (13.0 Кб, 19 просмотров)
PONKA вне форума Ответить с цитированием
Старый 09.05.2008, 11:32   #10
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

У меня все заработало с первого раза
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  AddFontResource('myF.ttf');
  SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
  Form1.Edit1.Font.Name:='455';
end;
_Dmitry вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
paintbox steck Общие вопросы Delphi 5 28.10.2007 16:15
Как определить координаты видимой части PaintBox? Vladimir K. Общие вопросы Delphi 3 28.12.2006 10:02