2016-08-08 11 views
0

私は、このファイルダウンロードしたマイクロソフトのVisual Studioの地域コミュニティにOpenGL4Netは、C#での作業を取得するために2015年OpenGL4Net WM_PAINTは存在しませんか?

をしようとしている:で最初に https://sourceforge.net/p/ogl4net/wiki/Tutorials/

https://sourceforge.net/projects/ogl4net/files/Rev.%2037/x64/

そして、これらの指示に従ったがコンソールアプリケーションですが、Windowsフォームアプリケーションを使用して再び起動すると、Windowsフォームアプリケーション自体からウィンドウを使用するように見えます。

これまで様々なrefrancesが追加されている、のForm1.csはそのままで、Program.csのは、次のようになります。

using System; 
using System.Collections.Generic; 
//using System.Linq; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using OpenGL4NET; 

namespace pads2 
{ 
    class Program : Form 
    { 
     RenderingContext rc; 

     static void Main(string[] args) 
     { 
      Program program = new Program(); 
      program.Init(); 
      Application.Run(program); 
     } 

     // required for open GL 
     void Init() 
     { 
      rc = RenderingContext.CreateContext(this); 
      SetStyle(ControlStyles.AllPaintingInWmPaint, true); 
     } 

     void Render() 
     { 
      gl.Clear(GL.COLOR_BUFFER_BIT); 

      // here is the right place to draw all your scene 

      rc.SwapBuffers(); 
     } 

     // change window size 
     protected override void OnSizeChanged(EventArgs e) 
     { 
      gl.Viewport(0, 0, ClientSize.Width, ClientSize.Height); 
      // projection matrix may also need adjusting 
     } 

     // required for open GL 
     protected override void WndProc(ref Message m) 
     { 
      switch (m.Msg) 
      { 
       case Windows.WM_PAINT: Render(); break; 
       default: base.WndProc(ref m); break; 
      } 
     } 
    } 
} 

    /* 
    static class Program 
    { 
     /// <summary> 
     /// The main entry point for the application. 
     /// </summary> 
     [STAThread] 
     static void Main() 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.Run(new Form1()); 
     } 
    } 
    /* 

コンパイラがメインただし、コードの末尾にコメント不満らしいです

型または名前空間名「WM_PAINTは、」私は何を見つけることができませんされてきた

名前空間「Windowsの(?あなたはアセンブリ参照が不足している)には存在しない。問題は、私は、エラーを受け取るということです私はWM_PAINTをオンラインで必要としています。 System.Windowsのリファレンスは役に立ちませんでした。

Q:これをどのように解決できますか?正しく設定していますか?

+0

民間のconst int型WM_PAINT = 15; –

+0

うわー、ありがたいことに、それは思いがけなく簡単だった。あなたは私に答えるか分けたいですか? – alan2here

答えて

0

は以前、一例は、参照を追加するのを忘れ、ケースがあるべきこの問題を持っていた:

case OpenGL4NET.Windows.WM_PAINT: Render(); break; 

(担当者があまりにも私を許したら、コメントします)

関連する問題