我的vtk mfc 的实现成功的测试环境是 vtk 6.3 , vs2010.
下载地址:http://download.youkuaiyun.com/download/leon_zeng0/9941150
当我对vtk 感兴趣的时候,我就想把他应用在MFC上。我的大部分程序都是用MFC开发的。
我在网上查找,找出了很多, 我就照做了,可是怎么也做不出来。发现网上的介绍都是针对vtk 5.8版本或更低的,后来听介绍说这只是能用于vtk 5.10 前的版本。我努力寻找vtk 6以后的版本,因为我手上的版本是6.3 和7.1。
我终于找到了,这是一个vtk 6.1 vs2008 版本上实现的,我做了测试,基本上是可以的,就和大家一起分享。
他的地址是: https://www.codeproject.com/Tips/795319/VTK-in-MFC
我能做成功,主要是借助了他的工程和介绍。但他的介绍不是很详细,下载的工程需要变更才能编译成功。
那我下面就介绍怎么做。先做一个mfc 的工程,这里是一个多文档的实现例子,去掉工程等非源码的文件,建立一个cmakelists文件,文件内容如下:
#CMakeLists.txt
cmake_minimum_required(VERSION 3.7.2)
project(vtkMFC)
find_package(VTK)
if(VTK_FOUND)
include(${VTK_USE_FILE})
else(VTK_FOUND)
message(FATAL_ERROR "cannot bulid without vtk")
endif(VTK_FOUND)
#添加工程文件
#两部分:代码文件 后续类文件
set(PROJECT_SRCS
stdafx.h
stdafx.cpp
Resource.h
targetver.h
vtkMFC.cpp
vtkMFC.h
vtkMFC.rc
MainFrm.cpp
MainFrm.h
vtkMFCDoc.cpp
vtkMFCDoc.h
vtkMFCView.cpp
vtkMFCView.h
res/vtkMFC.ico
res/vtkMFC.rc2
res/vtkMFCDoc.ico
res/ToolBar.bmp
res/ToolBar256.bmp
)
#配置工程的模块
include("${VTK_DIR}/GUISupport/MF