Задать вопрос
@pmtqw1

Отрисовка наложений в windows?

Делаю один проект на c++ и возникала такая проблема, мне нужно рисовать наложение в окне windows которое я получаю по его имени и всё работает, но при перерисовке окна моё наложение пропадает можно ли сделать моё наложение частью окна ?
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
VoidVolker
@VoidVolker Куратор тега Windows
Dark side eye. А у нас печеньки! А у вас?
можно ли сделать моё наложение частью окна

Только со стороны механизма рендеринга окна. Если у этого окна есть свой кастомный рендер контента, конечно. Если это простое системное окно - то нельзя.
Ответ написан
Комментировать
veselov4nton
@veselov4nton
Системный администратор.
Если ты хочешь встраивать отрисовку в чужое окно, то:

Получаешь HWND по имени окна (FindWindow)
Ставишь hook (SetWindowLong / SetWindowSubclass) на обработку сообщений
На WM_PAINT вызываешь свою отрисовку (например, через GDI, GDI+, Direct2D)
Минус: нельзя влезть в чужой процесс без DLL-инъекции, если это не твоё окно.
Ответ написан
Комментировать
@rPman
Настоятельно рекомендую вместо сложного встраивания в логику отображения, разместить поверх окна свое, с прозрачностью, двигать окно параллельно и отрисовывать только там где это необходимо

Из неудобств - необходимость отслеживать z-order окон, что бы корректно перекрывать только нужное окно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы