Поделиться через


Форматирование текста в элементах управления форматированными изменениями

Приложение может отправлять сообщения в элемент управления расширенными изменениями, чтобы отформатировать символы и абзацы и получить сведения о форматировании. Атрибуты форматирования абзаца включают выравнивание, вкладки, отступы, нумерации и простые таблицы. Для символов можно указать имя шрифта, размер, цвет и эффекты, такие как полужирный, курсив и защищенный.

Это важно знать

Технологии

Необходимые компоненты

  • C/C++
  • Программирование пользовательского интерфейса Windows

Instructions

Форматирование текста в элементе управления "Расширенные изменения"

Форматирование абзаца можно применить с помощью сообщения EM_SETPARAFORMAT. Чтобы определить текущее форматирование абзаца для выделенного текста, используйте сообщение EM_GETPARAFORMAT . Структура PARAFORMAT или PARAFORMAT2 используется с обоими сообщениями для указания атрибутов форматирования абзаца.

Форматирование символов можно применить с помощью сообщения EM_SETCHARFORMAT. Чтобы определить текущее форматирование символов для выделенного текста, можно использовать сообщение EM_GETCHARFORMAT. Структура CHARFORMAT или CHARFORMAT2 используется с обоими сообщениями для указания атрибутов символов.

Вы также можете использовать EM_SETCHARFORMAT и EM_GETCHARFORMAT сообщения для задания и получения форматирования символов точки вставки, которая применяется к любым последующим вставленным символам. Например, если приложение задает форматирование символов по умолчанию полужирным шрифтом, а затем пользователь вводит символ, этот символ полужирным.

Форматирование символов точки вставки применяется к только что вставленному тексту, только если текущий выделенный фрагмент пуст (если текущий выбор является точкой вставки). В противном случае новый текст предполагает форматирование символов замещаемого текста. Если выделение изменяется, форматирование символов по умолчанию будет соответствовать первому символу в новом выделении.

Эффект защищенного символа является уникальным в том, что он не изменяет внешний вид текста. Если пользователь пытается изменить защищенный текст, элемент управления расширенными изменениями отправляет родительское окно EN_PROTECTED код уведомления, позволяя родительскому окну разрешить или запретить изменение. Чтобы получить этот код уведомления, его необходимо включить с помощью сообщения EM_SETEVENTMASK.

Цвет переднего плана всегда является атрибутом символа. В Microsoft Rich Edit 1.0 цвет фона является только свойством элемента управления расширенными изменениями. Чтобы задать цвет фона по умолчанию, используйте сообщение EM_SEТБ KGNDCOLOR. Обратите внимание, что rich Edit не поддерживает сообщение WM_CTLCOLOREDIT.

Использование элементов управления расширенными изменениями

Демонстрация общих элементов управления Windows (CppWindowsCommonControls)