Текущее выделение в элементе управления Rich Edit

Можно выбрать текст в элемент управления rich edit, используя мышь или клавиатуру. Текущее выделение является диапазона выделенных символов или положение курсора, если символы не выбраны. Приложение может получить информацию о текущем выборе, задать текущее выделение, определить, когда выделить изменения текущего выделения и показать или скрыть выделение.

Для определения текущего выделения в элементе управления rich edit, используйте EM_EXGETSEL сообщение. Чтобы установить текущий выбор, используйте EM_EXSETSEL сообщение. Структура CHARRANGE используется с оба сообщения и указывает диапазон символов. Чтобы получить сведения о содержимом выделенного элемента, можно использовать сообщение об EM_SELECTIONTYPE.

Приложение может обнаружить при изменении текущего выделения в обработке сообщения уведомления EN_SELCHANGE . Сообщение уведомления указывает на SELCHANGE структуру, содержащую сведения о новом выборе. Элемент управления rich edit отправляет это сообщение уведомления, только если включена с помощью сообщения EM_SETEVENTMASK.

По умолчанию элемент управления rich edit показывает и прячет выделение, когда он получает и теряет фокус. Можно отобразить или скрыть выделение в любое время с помощью сообщения EM_HIDESELECTION . Например приложение может предоставлять диалоговое окно поиска для поиска текста в элемент управления rich edit. Приложение может выбрать соответствующий текст без закрытия диалогового окна, в этом случае его должны использовать EM_HIDESELECTION сообщение для выделения выделение.

Как и в элементах управления для редактирования, можно указать стиль окна ES_NOHIDESEL для предотвращения сокрытия выделение, когда он теряет фокус элемента управления rich edit. EM_HIDESELECTION сообщения также можно использовать для изменения стиля окна ES_NOHIDESEL после того, как создается элемент управления rich edit.

Вместо того, чтобы с помощью сообщения EM_EXGETSEL и EM_EXSETSEL , можно получить и задать текущий выбор, используя EM_GETSEL и EM_SETSEL редактирования управляющих сообщений. Сообщение EM_GETSEL пакеты два 16-разрядных символов индексы в его возвращаемое значение в 32-разрядных и, таким образом, работает только для элементов, которые полностью входить в первом 64 K. Однако элемент управления rich edit никогда не будут содержать более чем 32 K текста, если не расширить этот предел, с использованием EM_EXLIMITTEXT сообщения. Для выборок, которые выходят за пределы первой 64 K текста EM_GETSEL сообщение возвращает-1.

Index