2016-08-31 3 views
2

Я использую PCL для отображения облака точек под Windows. Классы CloudViewer и PCLVisualizer доступны для этой цели. Но когда вы их создаете, они создают собственное окно (через VTK). Поскольку я хочу интегрировать окно отображения в полный графический интерфейс, я ищу способ направить отображение в существующее окно, возможно, передав дескриптор окна. Окно не является OpenGL.Связать зрителя с существующим окном под PCL

Возможно ли это? Любой намек?

ответ

2

Кажется, что я нашел решение.

Несколько веб-сообщения предлагают изменить родительское окно RenderWindow зрителя, что может быть сделано с

viewer->getRenderWindow()->SetParentId(hWnd); 

Во всяком случае, это, кажется, не имеет эффект. Но это вдохновило меня с помощью изменит родителя функции Windows, вместо этого,

SetParent((HWND)viewer->getRenderWindow()->GetGenericWindowId(), hWnd); 

Это действительно заставляет зрителя ребенок моего окна, в то время как он продолжает работать правильно. Дополнительные флаги стиля можно настроить с помощью SetWindowLong.

На данный момент я также сохранил первое заявление на всякий случай. Кажется, это не беспокоит.

Смежные вопросы