问题描述
根据教材我弄出了以下的代码并且成功绘图,但是这仅能在启动窗口时绘图。如果我要再绘一个图或者改成按一个按钮开始绘图应该怎么改?我试着直接加一个按钮复制了一下SimpleOpenGlContro1_Paint或者Form1_Load内的代码发现不管用。如果启动窗口时不执行SimpleOpenGlControl1.InitializeContexts()又会报错,启动窗口时是怎么触发SimpleOpenGlContro1_Paint的?ImportsTao.OpenGlPublicClassForm1PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadSimpleOpenGlControl1.InitializeContexts()Gl.glClearColor(0.0F,0.0F,0.0F,0.0F)Gl.glViewport(0,0,SimpleOpenGlControl1.Width,SimpleOpenGlControl1.Height)Gl.glMatrixMode(Gl.GL_PROJECTION)Gl.glLoadIdentity()Gl.glOrtho(-10,10,-10,10,-10,10)Gl.glMatrixMode(Gl.GL_MODELVIEW)Gl.glLoadIdentity()EndSubPrivateSubSimpleOpenGlContro1_Paint(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.PaintEventArgs)HandlesSimpleOpenGlControl1.PaintGl.glClear(Gl.GL_COLOR_BUFFER_BITOrGl.GL_DEPTH_BUFFER_BIT)Gl.glPointSize(20)Gl.glBegin(Gl.GL_TRIANGLES)Gl.glColor3f(1,0,0)Gl.glVertex2f(-5,5)Gl.glColor3f(0,1,0)Gl.glVertex2f(5,5)Gl.glColor3f(0,0,1)Gl.glVertex2f(0,-5)Gl.glEnd()EndSubEndClass
解决方案
本帖最后由 saulchow 于 2015-04-09 15:12:13 编辑