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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2018, 17:39   #1
Peter Burdeh
 
Регистрация: 08.08.2014
Сообщений: 4
По умолчанию Размер текста

Делаю контексту устройства GetTextExtent. Если контекст устройства экранный, то длина строки, которую выдаёт GetTextExtent больше правильной, а если контекст устройства принтерный, то - меньше. Как быть? Помогите пожалуйста.
Peter Burdeh вне форума Ответить с цитированием
Старый 18.12.2018, 20:22   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Peter Burdeh Посмотреть сообщение
Если контекст устройства экранный,
Это без разницы, а какой у вас HFONT выбран в контексте?

Цитата:
Сообщение от Peter Burdeh Посмотреть сообщение
больше правильной
А "правильно" - это сколько?
waleri вне форума Ответить с цитированием
Старый 19.12.2018, 21:29   #3
Peter Burdeh
 
Регистрация: 08.08.2014
Сообщений: 4
По умолчанию Фонт и "правильно"

Фонт менять не пробовал, но я его собственноручно задаю:
- для принтера такие параметры:
LOGFONT lfN;
memset(&lfN,0,sizeof(LOGFONT));
lfN.lfHeight = 120;//-3.6977777777777776;
lfN.lfCharSet = (BYTE)1252;
wcscpy_s(lfN.lfFaceName, LF_FACESIZE, L"Microsoft Sans Serif");

- для экрана из ресурсов:
FONT 8, "MS Shell Dlg", 400, 0, 0x1

Правильно или нет я сужу по тому, что у меня получается.
Для принтера я пытаюсь переносить текст на следующую строку если текст не влезает в одну строку. Переносится, но съедается 1-2 символа.

Для экрана мне нужно знать размеры текста, чтобы правильно устанавливать размеры контролов. Например кнопка (самая обычная) - остаётся слишком много свободного места, при чём чем длиннее надпись на кнопке, тем больше пустого места остаётся.
Peter Burdeh вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить физический размер текста, выведенного на печать ka11n C# (си шарп) 1 07.08.2015 15:05
как изменить размер текста в примечании макросом Сергей Ш. Microsoft Office Excel 3 23.04.2014 08:52
Как узнать размер текста в TStringsList? SalasAndriy Общие вопросы Delphi 7 23.11.2013 18:59
Javascript. Выровнять размер текста по вертикали. Jakethefish JavaScript, Ajax 0 10.03.2011 11:09
автоматическое изменение размер текста в label bbk_serg Компоненты Delphi 15 04.02.2011 00:46