问题:
以前在VC++6.0里面建立OpenGL视场,因为打算在VS2005下开发程序,所以要改在VS2005里面建立Open视场,因为感觉WinForm(GUI)更好,就在WinForm里面建立的OpenGL视场,因为WinForm的事件驱动机制是"委托"(delegate),同时因为也不知道怎么获得句柄,在google搜了codeproject的VC++.net以及nehe得C#的OpenGL程序和网上一个人的程序,具体是谁我忘了,我也终于可以在Winform建立OpenGL视场了。下面我就写写我的做法。
回答:
首先我把OpenGL的程序这里封装成了一个类,这让就可以和Winform.h文件分离开来。步骤和过程是这样的:首先建立一个OpenGL类,这里注意(我建立的是非托管的类),至于托管的类我没试过,所以不知道会不会出问题,
1首先在OpenGL.h的头文件里面加上:
#include<windows.h>
#include <gl/gl.h>
#include <gl/glu.h>
#include <gl/glaux.h>
//不知道为什么不能包含glut这个头文件要注意
#pragma comment(lib,"opengl32.lib")
#pragma comment(lib,"glu32.lib")
//查询一下为什么要加这两个库
#pragma comment(lib,"gdi32.lib")
#pragma comment (lib,"User32.lib")
其中尤其要注意的是后面两个动态链接库,不加上就会报错,因为笔者水平尚浅,所以也不深究为什么。总之一定得加上。
2然后定义这样一个类: