Я пытаюсь интегрировать Winforms с проектом SharpDX, чтобы использовать Winforms (и в конечном итоге WPF через HostElement) в моем 3D-приложении.
Мне нужно создать или настроить элемент управления или форму так, чтобы яможно:
а.Визуализируйте его в текстуру (которую я могу отобразить как спрайт *)
b.Отфильтруйте входные данные, чтобы удалить события мыши / клавиатуры, когда элемент управления не активен.
Я попытался создать подклассы Control и Form, чтобы переопределить OnPaint и OnPaintBackground, но они не влияют на дочерние элементы управления - или в этом отношенииграницы форм (и даже если они это сделали, их недостаточно, поскольку у меня все еще остается белый квадрат, где, как я полагаю, нарисован «родитель»).
Как я могу остановитьсярисование элемента управления или формы на экране и рисование только на растровом изображении? (Есть ли какой-то способ переопределить графику, например, до того, как дерево будет нарисовано?)
* Это необходимо сделатьтаким образом (вместо того, чтобы позволить элементу управления отображаться на экране), поскольку Winforms не поддерживает истинную прозрачность, поэтому мне нужно обрезать пиксели с цветовой кодировкой в моем пиксельном шейдере.
(Чтобы подтвердить, я нея имею в виду текстуру DirectX - я доволен (на самом деле предпочел бы) простой растровой картой System.Drawing)