Forms in .NET "refreshen"
Geizhals » Forum » Programmierung » Forms in .NET "refreshen" (13 Beiträge, 250 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Forms in .NET "refreshen"
17.07.2013, 23:01:23
Hi.

Vielleicht kennt sich ja wer in .NET und Forms aus und kann mir bei einem kleinen Problem weiterhelfen.

Ich hab eine Windows-Form die über die NativeWindow Klasse ein OpenGL Fenster enthält.
(http://www.codeproject.com/Articles/16051/Creating-an-OpenGL-view-on-a-Windows-Form  etwas abgewandelt).

Mein Problem ist jetzt: Wie bring ich der Form bei sich 60x in der Sekunde zu refreshen, oder noch einfach, andauernd.. bis jetzt refreshed sie nur wenn das Fenster resized wird.

Der Timer den ich angelegt hab funktioniert, jedoch refreshed wird nix.


private: System::Void Form1_Shown(System::Object^  sender, System::EventArgs^  e) {
			 m_refreshTimer->Interval = (int)1000/60;
			 m_refreshTimer->Elapsed += gcnew System::Timers::ElapsedEventHandler ( this, &Form1::refreshClient );
			 m_refreshTimer->Enabled = TRUE;
			 m_refreshTimer->Start();
		 }
		 void refreshClient ( Object^ source, ElapsedEventArgs^ e ) {
			PaintEventArgs ^ptArgs = gcnew PaintEventArgs(this->CreateGraphics(), this->DisplayRectangle);
			m_gl->Render();
			m_gl->SwapOpenGLBuffers();
			// this->Update();
			if (this->InvokeRequired)
				this->InvokePaint(this, ptArgs);
			else
				this->Refresh();
		 }



		virtual System::Void Render(System::Void)
		{
			// Clear the color and depth buffers.
			glClearColor(0.0f, 0.0f, 0.0f, 0.0f) ;
			glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
			glColor4f (1., 1., 1., 1.);
			glLoadIdentity();
			glScalef (1., 1., -1.);
			glTranslatef (0., 0., 5.);
			glRotatef(m_tRot, 0., 0., 1.);
			glDisable (GL_TEXTURE_2D);
			glBegin (GL_TRIANGLE_STRIP);
			glVertex3f (-1., -1., 0.);
			glVertex3f (1., -1., 0.);
			glVertex3f (-1., 1., 0.);
			glVertex3f (1., 1., 0.);
			glEnd();
			m_tRot += 0.5;
		}		

		System::Void SwapOpenGLBuffers(System::Void)
		{
			SwapBuffers(m_hDC);
		}


Danke und lg.


"Those who don't understand Unix are condemned to reinvent it, poorly." – Henry Spencer
17.07.2013, 23:01 Uhr - Editiert von A national Acrobat, alte Version: hier
Antworten PM Alle Chronologisch
 
Melden nicht möglich
.  Re: Forms in .NET "refreshen"  (zeddicus am 18.07.2013, 08:10:21)
...  Re(3): Forms in .NET "refreshen"  (zeddicus am 18.07.2013, 08:54:15)
.  Lösung...  (A national Acrobat am 20.07.2013, 10:44:46)
..  Re: Lösung...  (zeddicus am 21.07.2013, 23:29:46)
...  Re(2): Lösung...  (A national Acrobat am 22.07.2013, 19:35:05)
....  Re(3): Lösung...  (zeddicus am 22.07.2013, 20:21:25)
.....  Re(4): Lösung...  (A national Acrobat am 22.07.2013, 20:43:55)
......  Re(5): Lösung...  (zeddicus am 22.07.2013, 21:54:06)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung