Registriert: Do Jun 19, 2003 10:44 Beiträge: 991 Wohnort: Karlsfeld (nahe München)
Wenn ich per Hand nach dem Start die Fenstergröße ändere hüpft das Bild nach hinten/oben. Dieser Effekt tritt nur bei der Ersten Größenänderung auf.
Wobei ich herraus fand das dies nach hinten/oben hüpfen scheinbar nur eine Korrektur war. Im Vollbild-Modus ist die Sicht ebenfalls ein bischen nach hinten/oben verschoben und wenn ich die Selektions funktion aufrufe geht die auch davon aus das das Bild weiter hinten/oben ist.
Will ich zum Beispiel etwas auswählen muss ich unter es klicken um auszuwählen. Verändere ich die Größe oder starte das Fenster im Vollbild-Modus kann ich die Einheit normal auswählen.
Ach ja und ein Aufruf von Resize nach der Fenster Erstellung halft auch nicht.
Mfg
IFlo
_________________ Danke an alle, die mir (und anderen) geholfen haben. So weit... ...so gut
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Recht unverständliche Fehlerbeschreibung, aber ich versuchs trotzdem mal. Nimmst du im Fenstermodus auch für die Dimensionierung deines Viewports den Clientbereich deines Fensters und nicht den kompletten Bereich? Wenn nicht, dann nutz bei der Festlegung des Viewports ClientWidth und ClientHeight.
Wenn das nix bringt, dann beschreib dein Problem mal bitte etwas konkreter, evtl. sogar mit Screenshot.
Registriert: Do Jun 19, 2003 10:44 Beiträge: 991 Wohnort: Karlsfeld (nahe München)
Ich glaub ich habe das Problem gefunden.
Am Ende von der Fenstererstellungs-Funktion wird die Procedure aufgrufen die für die Größenänderung zuständig ist. Dies ist aber scheinbar nur sinnvoll wenn auf Fullscreen umgeschaltet werden muss.
Die Werte für das tatsächliche Bild sind nämlich anders wenn man im Fenstermodus ist, da ja die Balken noch wegfallen. Wird nun die Resize-Methode mit den Werten der gesamten Fenstergröße aufgrufen, sind die Werte natürlich zu groß.
Mfg
IFlo
_________________ Danke an alle, die mir (und anderen) geholfen haben. So weit... ...so gut
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Er meint dasselbe was ich gesagt habe, nämlich statt :
Code:
gluPerspective(..., Width/Height,...);
glViewport(0,0,Width,Height)
das hier :
Code:
gluPerspective(..., ClientWidth/ClientHeight,...)
glViewport(0,0,ClientWidth,ClientHeight)
Obiges stimmt nur bei einem Fenster ohne Rand (z.B. Vollbild), während unteres Beispiel immer korrekt ist und deine Perspektive der Zeichenfläche anpasst.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Nein, Left und Top sind immer 0 :
Win32-SDK-Hilfe zu GetClientRect hat geschrieben:
lpRect Points to a RECT structure that receives the client coordinates. The left and top members are zero. The right and bottom members contain the width and height of the window.
Mitglieder in diesem Forum: Google [Bot] und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.