Direct2D и Windows общие элементы управления

Я все еще новичок в Direct2D, так что это может быть глупым вопросом.

Я хочу, чтобы пользовательский интерфейс моего приложения поддерживал такие вещи, как частичная прозрачность и аппаратное ускорение. Для правильной прозрачности мне нужно использовать UpdateLayeredWindow API, который ожидает исходный контекст устройства. Поэтому я использую Direct2D для создания ID2D1DCRenderTarget и просто привлечь к этому. Пока все хорошо, кажется, работает хорошо.

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

Из чтения MSDN можно получить общие элементы управления, чтобы отрисовать себя в контексте устройства, отправив WM_PRINT Сообщения. Но тогда, как я узнаю, КОГДА отправить это сообщение? Конечно, я могу получать уведомления от элемента управления редактирования, когда пользователь вводит его, но мне все равно нужно выяснить, когда, например, должен быть нарисован мигающий курсор или нет.

Как это обычно делается? Какие у меня варианты? Заранее спасибо за любые указатели.

0

Решение

Задача ещё не решена.

Другие решения