![]() |
|
|
![]()
|
|
| Ruslan_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 4.12.2004 Репутация: нет Всего: нет |
Подскажите, как определить ширину строки, если шрифт заранее не известен?
|
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 2 Всего: 19 |
Если шрифт не определен, то ширина (да и высота) строки тоже неопределенна |
|||
|
||||
| Ruslan_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 4.12.2004 Репутация: нет Всего: нет |
Размер шрифта пользователь выбирает в кеглях. Если шрифт не пропорциональный, то ОПРЕДЕЛИТЬ ШИРИНУ СТРОКИ в пикселах, написанную данным шрифтом и выведенную на экран ф-ией CDC::TextOut(...), ПРОБЛЕМАТИЧНО, даже очень...
Может я не совсем корректно задал вопрос?.. Как определить ширину строки, если задан шрифт X (условно) в pt? В момент вывода строки на экран ее шрифт и размер конечно известны, также, к счастью, известна и сама строка ) . Это сообщение отредактировал(а) Ruslan_ - 22.12.2004, 18:40 |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 2 Всего: 19 |
Ruslan_
DrawText() спараметром DT_CALCRECT |
|||
|
||||
| alien_by |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 29.11.2004 Где: Belarus/Gomel Репутация: 5 Всего: 8 |
В классе CDC есть метод GetTextExtent.
На входе у него строка, а возвращает он обьект CSize, который содержит штрину и высоту текста в пикселах. Фонт для контекста можешь устанавливаешь в последний момент (т.е. непосредственно перед вызовом GetTextExtent) т.е. что-то типа этого
|
|||
|
||||
| Ruslan_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 4.12.2004 Репутация: нет Всего: нет |
alien_by! Спасибо огромное! Ты меня выручил!!! (уже второй раз)
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |