NativeWindow und Click-Event
-
Hallo,
ich möchte in einem Projekt von mir OpenGL verwenden. Das OpenGL-Fenster wird dann in die Form1 eingebunden. Mit diesem Code erzeuge ich das OpenGL Fenster:namespace OpenGLForm { public ref class COpenGL: public System::Windows::Forms::NativeWindow { public: COpenGL(System::Windows::Forms::Form ^ parentForm, GLsizei iWidth, GLsizei iHeight) { CreateParams^ cp = gcnew CreateParams; // Set the position on the form cp->X = 148; cp->Y = 46; cp->Width = 1120; // iWidth; cp->Height = 704; // iHeight; // Specify the form as the parent. cp->Parent = parentForm->Handle; // Create as a child of the specified parent and make OpenGL compliant (no clipping) cp->Style = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN; // Create the actual window this->CreateHandle(cp); m_hDC = GetDC((HWND)this->Handle.ToPointer()); if(m_hDC) { MySetPixelFormat(m_hDC); ReSizeGLScene(iWidth, iHeight); InitGL(); } }
So wird das OpenGL-Fenster in Form1 erzeugt / eingebunden:
Form1(void) { InitializeComponent(); OpenGL = gcnew COpenGL(this, 1120, 704); }
...
private: /// <summary> /// Erforderliche Designervariable. /// </summary> OpenGLForm::COpenGL ^ OpenGL;
Das ganze funktioniert auch ganz gut, ich habe jetzt nur das Problem, dass ich nicht weiss wie ich (im OpenGL-Fenster) auf Events wie z.B. Mausklicks reagieren kann.
Könnt ihr mir da weiterhelfen ?
Danke,
mfg arena_blau-------------------------------
-
Hallo,
könnt ihr mir sagen, wie ich auf einen Mausklick reagieren kann ?Danke,
mfg arena_blau---------------------
-
Hallo,
könnt ihr mir bei meinem Problem weiterhelfen ?Von dieser Seite habe ich den Code:
- http://www.codeproject.com/KB/miscctrl/OpenGLViewWinForms.aspxDort kann man sich das ganze Projekt auch downloaden. Zu beachten ist, dass man bei den Projekteigenschaften unter Konfigurationseigenschaften / Allgemein / Common Language Runtime-Unterstützung die Spalte (/clr) wählen muss, ansonsten bekommt man bei der Programmerstellung eine Fehlermeldung.
Wie gesagt, mein Problem ist, dass ich nicht weiss wie ich im OpenGL-Fenster auf z.B. Mausklick-Events (oder andere Events) reagieren kann.
Es soll so sein, dass wenn ich mit der Maus auf das Fenster klicke, dass dann z.B. eine MessageBox ausgegeben wird.
Könnt ihr mir sagen wie ich das machen kann ?
Ich hoffe ihr könnt mir weiterhelfen.
Vielen Dank,
mfg arena_blau---------------------------
-
Hallo,
kann mir keiner weiterhelfen ? Ich bräuchte den Code wirklich dringend.Wenn mir jemand dabei helfen kann eine Lösung zu finden, dann wäre ich gerne auch bereit für diese Arbeit zu zahlen. Über mein Profil könnt ihr mir ja Mails schicken.
Helft mir doch bitte weiter.
Danke,
mfg arena_blau--------------------------------