Visual c++ 如何在MFC窗口中添加VTK小部件

Visual c++ 如何在MFC窗口中添加VTK小部件,visual-c++,mfc,vtk,Visual C++,Mfc,Vtk,我想在MFC对话框程序中添加一些vtkSliderWidget或vtkCompassWidget。但是这个例子没有使用MFC。我试图在OnInitDialog()中添加这些代码 BOOL-CvtkDLGDlg::OnInitDialog() { ... //创建小部件及其表示 vtkSmartPointer compassRepresentation=vtkSmartPointer::New(); vtkSmartPointer compassWidget=vtkSmartPointer::Ne

我想在MFC对话框程序中添加一些vtkSliderWidget或vtkCompassWidget。但是这个例子没有使用MFC。我试图在OnInitDialog()中添加这些代码

BOOL-CvtkDLGDlg::OnInitDialog()
{
...
//创建小部件及其表示
vtkSmartPointer compassRepresentation=vtkSmartPointer::New();
vtkSmartPointer compassWidget=vtkSmartPointer::New();
compassWidget->SetInteractor(此->pvtkMFCWindow->GetInteractor());
compassWidget->SetRepresentation(compassRepresentation);
compassWidget->EnabledOn();
//执行对象管道
ExecutePiline();
返回TRUE;
}
在构建过程中没有错误。但是,当运行程序时,窗口上没有小部件。这让我很困惑。如果有人能解释我做错了什么,并指出正确的解决方案,我将非常高兴


谢谢。

这里有一些使用MFC的示例代码。看见先发制人警告:除非您精通Windows API编程,否则您将无法理解和使用MFC。谢谢您。您提到的示例代码就是我修改的代码。但它不起作用。有一些示例代码确实使用MFC。看见先发制人警告:除非您精通Windows API编程,否则您将无法理解和使用MFC。谢谢您。您提到的示例代码就是我修改的代码。但它不起作用。
BOOL CvtkDLGDlg::OnInitDialog()
{

...

// Create the widget and its representation
vtkSmartPointer<vtkCompassRepresentation> compassRepresentation =     vtkSmartPointer<vtkCompassRepresentation>::New();
vtkSmartPointer<vtkCompassWidget> compassWidget =     vtkSmartPointer<vtkCompassWidget>::New();
compassWidget->SetInteractor(this->pvtkMFCWindow->GetInteractor());
compassWidget->SetRepresentation(compassRepresentation);
compassWidget->EnabledOn();

// execute object pipeline
ExecutePipeline();
return TRUE; 
}