|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.12.2009, 18:10 | #1 |
Форумчанин
Регистрация: 12.08.2009
Сообщений: 118
|
Изменение размера шрифта на шаг
Есть текстовый range. Как размер шрифта изменить на "шаг". Например, есть текст "Парам пам пам рурам", в котором "Парам" - 16 размер, "пам пам " - 20, "рурам" - 56. Как сделать размеры шрифтов из 16.20.56 - 15,5.19,5.55,5 (уменьшить каждый символ на 0.5) или 17.20.56 (увеличить на 1)?
У font-a есть методы Grow и Shrink, но они уменьшают/увеличивают к следующему доступному значению. Думаю, можно пробежаться по каждому символу, изменяя его. Можно ли это сделать как то быстрее? Например не по символам, а по пучками? Можно ли разбить исходный range на более мелкие range-ы внутри с одинаковым размером font-a, будет ли это быстрее? |
11.12.2009, 18:36 | #2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
А свойства Size ты у Font'а не увидел?
Лучше день потерять — потом за пять минут долететь!©
|
11.12.2009, 19:04 | #3 |
Форумчанин
Регистрация: 12.08.2009
Сообщений: 118
|
Немного не то. У меня получается range с различными размерами. Если я ему делаю
range->GetFont()->Size += 0.5f; получаю исключение. если float prevSize = range->GetFont()->GetSize(); range->GetFont()->PutSize(prevSize + 0.5f); весь текст становится одинакового размера Можно ли разбить исходный range на более мелкие range-ы внутри с одинаковым размером font-a? Пока вижу решение в виде создания range-a для каждого символа отдельно и соответственное изменение размера. Кажется, это будет весьма медленно |
11.12.2009, 19:40 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
У Range есть коллекция Characters, каждый элемент которой является отдельным символом и имеет тип Range. Такой вот полиморфизм. Вот набросал:
Код:
Лучше день потерять — потом за пять минут долететь!©
|
11.12.2009, 19:41 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
рекомендую попробовать встроенную фукнцию
выделите текст и нажмите сочетание клавиш: Ctrl-ъ если не сработает: меню - Сервис - Настройка - кнопка "Клавиатура" слева выберите "Все команды" справа найдите GrowFontOnePoint посмотрите, какое сочетание клавиш назначено (или назначьте своё). Затем выделите текст и нажмите это сочетание... оно?.. _______________________________ оп-с... похоже ТС нужно это реализовать в коде VBA... на VBA это выглядит так: Selection.Font.Size = Selection.Font.Size + 1 или я чего-то не понял?... Последний раз редактировалось Serge_Bliznykov; 11.12.2009 в 19:44. |
11.12.2009, 19:50 | #6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
TC это нужно реализовать на «плюсах»
Код:
Лучше день потерять — потом за пять минут долететь!©
|
11.12.2009, 21:41 | #7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Тупой рекордер под MS Word записал VBA код, который Word не может выполнить!! ;( и непонятно, почему есть увеличение размера шрифта до следующего порогового значения: Font.Grow, но нет Font.GrowFontOnePoint Как же то Word по Ctrl-[ и Ctrl-] выполняет эту операцию?! |
||
12.12.2009, 22:45 | #8 | |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Посимвольное форматирование
Цитата:
Код:
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 13.12.2009 в 18:20. Причина: ответы. |
|
16.12.2009, 18:02 | #9 |
Форумчанин
Регистрация: 12.08.2009
Сообщений: 118
|
viter.alex, спасибо за пример.
На плюсах реализовал так: Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменение шрифта в списке | Vill | Общие вопросы Delphi | 1 | 05.12.2009 01:08 |
Изменение размера шрифта | Nando | Microsoft Office Excel | 4 | 07.03.2009 16:45 |
При изменении размера шрифта в IE появляются линии | Константин_VRN | HTML и CSS | 7 | 12.01.2009 16:42 |
Изменение шрифта отдельных символов | Melevir | Помощь студентам | 1 | 13.09.2008 14:52 |
Изменение размера шрифта выводимого текста в консоле, как побороть? | Artefact | Qt и кроссплатформенное программирование С/С++ | 0 | 26.02.2008 00:28 |