|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.12.2010, 19:56 | #1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Узнать ширину текста
Есть ли в WinAPI функа для того, чтобы узнать ширину заданного текста с заданным шрифтом и заданным размером шрифта? Или хотя бы что-нибудь подобное?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
18.12.2010, 20:10 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
|
18.12.2010, 20:11 | #3 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Боюсь ошибиться, но может что-то типа этого:
-GetCharABCWidths -GetCharWidth32 Хотя не очень понятно, что такое "в логических единицах измерения" (in logical units).
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru Последний раз редактировалось Ulex; 18.12.2010 в 20:17. |
18.12.2010, 20:26 | #4 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
А у меня тогда два встречных вопроса -
1. Тот же, что и у Ulex - что есть Logical units 2. Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
18.12.2010, 21:00 | #5 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Ну ребят, что за детский сад? Давайте я вам расскажу что в таких случаях обычно делают программисты:
1. Смотреть примеры (прямо на msdn по той же ссылке) 2. Искать решения по составным частям вопроса "logical", "text width" и др. 3. А главное пробовать и смотреть что за результаты p.s. вы уж простите за искренность UPD: Цитата:
Последний раз редактировалось BOBAH13; 18.12.2010 в 21:13. |
|
18.12.2010, 21:24 | #6 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Так, ладно, предположим, что длину заданного текста получить удалось, теперь обратная задача стоит - есть допустимая ширина (например 200 px), необходимо узнать, сколько символов необходимо, чтобы её заполнить. Перебор, я так понимаю, слишком долгое запятие.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
18.12.2010, 21:25 | #7 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
UPD: Пробовать, пробовать и еще раз. Последний раз редактировалось BOBAH13; 18.12.2010 в 21:29. |
|
18.12.2010, 21:28 | #8 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Да вот дело в том, что (уже не сочтите за велосипед) это будет основа TEdit. При каждой отрисовке на слое будет отрисовываться текст по размеру соизмеримый с TEdit (чтобы не рисовать весь текст). Так что скорось здесь критична.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
30.12.2010, 10:37 | #9 |
Пользователь
Регистрация: 29.10.2010
Сообщений: 31
|
Для этого в gdi32.dll есть функция GetTextExtentPoint32. Вот описание (прям из win32.hlp):
Код:
В гостях - хорошо. Дома – лучше. В пути туда и обратно - терпимо. Стоять в проходе и по пол часа прощаться – ужасно.
|
30.12.2010, 10:51 | #10 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как узнать длину текста в пикселях | Don Karleone | Общие вопросы Delphi | 5 | 16.10.2010 15:51 |
Получить ширину выделенного текста Word | GeoZ | Microsoft Office Word | 2 | 29.09.2010 16:35 |
Как узнать выравнивание текста в RichEdit? | Kib | Общие вопросы Delphi | 6 | 23.08.2010 15:36 |
Подогнать ширину текста по ширине ячейке StringGrid | Neko13 | Общие вопросы Delphi | 8 | 21.06.2010 10:46 |
Как узнать ширину панели "Пуск" | Port 111 | Win Api | 6 | 01.02.2009 23:05 |