Рендеринг GDI в окно WPF - PullRequest
       2

Рендеринг GDI в окно WPF

4 голосов
/ 04 февраля 2011

Я провел некоторый поиск, но не могу найти точного ответа на этот вопрос.В моем приложении C # WPF я получаю указатель HWND и передаю его в C dll.Затем этот Cll пытается использовать вызовы GDI для визуализации наложений на мое окно.Там нет ошибок, но ничего не появляется.Если я переключаюсь на форму Windows, DLL может отрисовать ее нормально.Если я размещаю элемент управления WindowsFormHost и использую hwnd оттуда, у меня тот же эффект.Я видел информацию об элементе управления HwndHost, но на самом деле он не похож на то, что я хочу.Возможно, кто-то с большим знанием этого контроля может сказать мне по-другому.Я где-то читал, что hwnd, используемый для визуализации DirectX (например, WPF), также не может использовать GDI.Это делает мой сценарий невозможным?Я мог бы подделать его, наложив форму без полей на окно WPF, но, очевидно, это было бы не слишком красиво.Есть мысли или идеи?

1 Ответ

5 голосов
/ 04 февраля 2011

Вы не можете иметь рендеринг WPF и GDI для одного и того же hwnd, но вы можете легко иметь дочерний hwnd внутри своего приложения WPF и позволять GDI рендерить в него.Взгляните на HwndHost для этого.В разделе «Размещение окна Microsoft Win32 в WPF» в этой статье есть немного больше деталей.В нем также рассматриваются различные проблемы, с которыми вы можете столкнуться (например, воздушное пространство) при взаимодействии такого типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...