![]() |
|
|
![]()
|
|
| Edik |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
Объясните мне когда надо пользоваться при выводе текста структурой LOGFONT, а когда структурой TEXTMETRIC?
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Edik |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
Ну вобще зачем эта структура , а зачем та? Почему есть две структуры для операции со шрифтами? В каких случаях используеться одна, и в каких случаях другая? LOGFONT я знаю точно используеться перед выводом текста. в ней запоняються типа размер шрифта, имя шрифта и т.д. а зачем структура textmetric? что она нам дае? когда ею надо пользоваться?
|
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Ну что-поможет кто парню или мне взяться?
Ладно.. Беру огонь на себя. Структура TEXTMETRIC содержит основную информацию о физическом шрифте. LOGFONT-о логическом. Чувствую вопрос-а в чем же разница? Поехали В Windows любые операции вывода являются графическими. Подсистема GDI делает вывод анпаратно независимым. Это означает, что информация, выводимая на любое физическое устройство, будет выглядеть почти одинаково. Это достигается путем использования логических координат. Размеры области физического устройства изменяются в зависимости от марки, технологии и т. д. Чтобы верно передать детали изображения, созданного в логической системе, в физическое устройство, система преобразовывает их путем отображения (mapping) прямоугольной области из одного координатного пространства в другое. При копировании каждой точки прямоугольной области из одного пространства в другое Windows применяет алгоритм трансформации, который в конечном счете изменяет размеры, ориентацию и форму всего объекта. Вот и получается что у нас есть , в логической системе восемь существующих режимов отображения координат задаются с помощью символьных констант, определенных в файле Wingdi.h: #define MM_TEXT 1 // 1 лог. ед. - 1 пиксел #define MM_LOMETRIC 2 // 1 лог. ед. - 0,1 мм #define MM_HIMETRIC 3 // 1 лог. ед. - 0,01 мм #define MM_LOENGLISH 4 // 1 лог. ед. - 0,01 дюйма #define MM_HIENGLISH 5 // 1 лог. ед. - 0,001 дюйма #define MMJTWIPS 6 //1 лог. ед. - 1/1440 дюйма Дальше продолжать? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Edik |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
Ага! Теперь все ясно. Только я хотел что бы еще мне объяснили, когда нужно пользоваться TEXTMETRIC? Вот я в программе одной встречал функцию GetTextMetric(&tm). В каких случаях нам нужен "физический" шрифт, а не логический?
|
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
А что-разве ты можешь задать ФИЗИЧЕСКИЙ шрифт? Просто ты можешь получить ФИЗИЧЕСКИЙ шрифт GetTextMetriс и ЛОГИЧЕСКИЙ шрифт GetLogFont Для чего? Ну мне б было неудобно расчитывать координаты чего-то там, отталкиваясь от ЛОГИЧЕСКОГО шрифта.. Ну вернет он мне 14 едениц. А сколько это пикселей, к примеру? Или дюймов? Мне еще надо знать метрическую ситстему, с которой я работаю. Потом это все переводит. Нуедобно. А так я знаю, что у меня окно 300 пикселей в ширину. Сколько букв поместится? Я получу физические данные шрифта-и переведу. Типа того. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Edik |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
Ага! Спасибо огромное! Понял.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |