Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26151
Рейтинг: 2127
#91: 2008-06-11 11:06:42 ЛС | профиль | цитата
Nic писал(а):
Все она видит и подключает, их только нет в списке FontsArray

Но я список-то FontsArray и имел в виду.
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#92: 2008-06-11 11:11:47 ЛС | профиль | цитата
Ты когда-нибудь спишь?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#93: 2008-06-11 11:14:32 ЛС | профиль | цитата
Nic писал(а):
Ты когда-нибудь спишь?

Конечно, но у меня дробный сон 4:3 (утром и вечером)
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#94: 2008-06-11 11:18:14 ЛС | профиль | цитата
Nic писал(а):
Так ведь с этого начинали: сделать универсальный компонент с методами для инсталляции/деинсталляции и получения разнообразных свойств шрифта (Name, Style, Script, ID, copyright ...). А внутри программы, чтобы управлять шрифтами из разных экземпляров компонента, TempFileName обозвать Handle


Посмотри на все под этим углом зрения.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#95: 2008-06-11 11:25:55 ЛС | профиль | цитата
Nic, это получится уже целый набор компонентов, а не один компонент. И зачем вообще нужен тогда общий список шрифтов если мы получим информацию о конкретном шрифте и сможем его применять по имени, и удалять по индексу из списка. В таком случае, нам совершенно не нужно имя файла, пусть компонент сам занимается поиском этого имени у себя в списке.
Тебе точно нужен общий список, или ты работаешь только с временными шрифтами. Добавим списку информацию по Style, Script (может потом найдем еще и как получить ID, copyright ..)
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#96: 2008-06-11 11:38:43 ЛС | профиль | цитата
nesco писал(а):
Тебе точно нужен общий список?


В программе FontsManager общий список обязателен, но для этого достаточно иметь точку FontsArray в любом из компонентов.
------------ Дoбавленo:

nesco писал(а):
или ты работаешь только с временными шрифтами


Да, работаю только с ними, но видить нужно всю картину шрифтов на компьютере, иначе возникают конфликты между установленными шрифтами, которые разрешаются при помощи знания всех ID, установленных на компьютере шрифтов.
------------ Дoбавленo:

все побежал на работу...
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#97: 2008-06-11 13:32:15 ЛС | профиль | цитата
Кажется я нашел структуру, которая хранит нужную тебе информацию. Это -- EXTLOGFONT


typedef struct tagEXTLOGFONT { 
LOGFONT elfLogFont;
TCHAR elfFullName[LF_FULLFACESIZE];
TCHAR elfStyle[LF_FACESIZE];
DWORD elfVersion;
DWORD elfStyleSize;
DWORD elfMatch;
DWORD elfReserved;
BYTE elfVendorId[ELF_VENDOR_SIZE];
DWORD elfCulture;
PANOSE elfPanose;
} EXTLOGFONT, *PEXTLOGFONT;
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#98: 2008-06-12 00:55:47 ЛС | профиль | цитата
Да похоже это оно.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#99: 2008-06-12 01:01:52 ЛС | профиль | цитата
Увы, Nic, увы -- структура-то есть, а вот кто ее заполняет нет (по крайней мере, об этом нет общедоступной информации)
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#100: 2008-06-12 02:33:30 ЛС | профиль | цитата
Попробую обойтись без всего этого. Если упрусь в непреодолимую преграду - скажу.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#101: 2008-06-12 12:06:24 ЛС | профиль | цитата
Какой-нибудь из компонентов Font ты используешь, или нет
Но я, все равно, доделаю последний.

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#102: 2008-06-13 01:25:48 ЛС | профиль | цитата
nesco писал(а):
структура-то есть, а вот кто ее заполняет нет
Лет 10 назад в С++ CreateFont() и CreateFontIndirect(). Правда тогда для ASCII структура данных была LOGFONTA, а для Unicode LOGFONTW. Обе описаны были в WINGDI.H . Жаль, при переезде, всю литературу пришлось оставить.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#103: 2008-06-13 01:37:39 ЛС | профиль | цитата
Tad, постами выше я уже рассматривал эту структупу -- LOGFONTA, и что за методы ее заполняют, я тоже знаю.

CreateFont() и CreateFontIndirect() -- создают логический шрифт с параметрами занесенными в LOGFONTA.

Я же рассматриваю структуру EXTLOGFONT, это -- немного другое. Информация по сайтам довольно скудная, и кто заполняет эту структуру -- неизвестно. На MSDN, я тоже ничего не нашел
карма: 22

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#104: 2008-06-13 02:14:30 ЛС | профиль | цитата
nesco писал(а):
Какой-нибудь из компонентов Font ты используешь, или нет


Собираюсь, пересмотреть логику схемы в связи обнаруженными фактами и, если можно будет упростить схему при помощи твоих компонент, обязательно использую и сообщу тебе письменно здесь. Как только появится чуть-чуть времени, может быть уже завтра к ночи.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#105: 2008-06-13 16:20:26 ЛС | профиль | цитата
Nic, я пошел немного другим путем -- обкатываю отдельную тему с общим списком в Proc-варианте, есть кое-какие успехи. Возможно будет выдавать немного расширенную информацию по шрифтам и задавать параметры фильтрации по имени и набору символов прямо в списке при перечитывании.
------------ Дoбавленo:

Nic, вот глянь, что получилось


карма: 22

0
файлы: 1project_tempfontproc_1_30.zip [9.4KB] [303]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)