Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jun 17, 2024 15:01

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Scrollbar probleme
BeitragVerfasst: Mi Aug 10, 2011 17:50 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Hallo Leute,

folgendes Problem:

Ich habe ein Panel (Container), in diesem Panel befindet sich ein OpenGL Render Panel und
2 Scrollbars (eine Vertikale Rechts und eine Horizontale Unten) so wie man es ein Renderprogrammen z.b. kennt oder
in Mal-Programmen.

Das OpenGL Render Panel hat eine Maximale Größe.

Beim Resize vom Hauptcontainer, werden die Scrollbars schön nach Rechts und Unten Positioniert und in der Größe des Containers angepasst.
Das OpenGL Render Panel wird hier ebenfalls angepasst auf die Containergröße - Scrollbar Größen.

Nun soll ein etwas grösseres Quad (2D) in OpenGL (Ortho) dargestellt werden und mit den Scrollbars verschoben werden können.
Das wollte ich lösen über ein simples X, Y Offset das dem Quad dazugerechnet wird und dieses Offset soll beim Scrollen der 2 Bars
sowie beim Resize des Containers angepasst werden.

Allerdings liegt hier mein Problem, denn ich habe noch nicht richtig herausgefunden wie so ein offset berechnet werden muss.
Vor allem wenn die Vertikale Scrollbar ganz unten Positioniert ist, man somit also den komplett unteren Teil des Quads sehen würde,
ich nun aber das Fenster in der Höhe vergrößere, dann schaff ich es nicht das sich der Offset dann erhöht/neu berechnet...
Denn ich so einen Fall wird der Viewport Höher, aber da meine Vertikale Scrollbar unten ist, seh ich nach und nach die Oberen Teile.

Könnt ihr mir da helfen? Das wäre wirklich super.

Gruß,
Final


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Scrollbar probleme
BeitragVerfasst: Fr Aug 12, 2011 11:25 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Poplig:

Rectangle r = glControl1.ClientRectangle;

Size ms = new Size(sMaxViewSize.Width - r.Width, sMaxViewSize.Height - r.Height);

float x = (float)ms.Width / 100.0f * (float)pViewOffset.X;
float y = (float)ms.Height / 100.0f * (float)pViewOffset.Y;

Scrollbars müssen beide von 0-100 eingestellt sein.

Im Scroll event, muss einfach der Wert der Scroll gespeichert werden und ein Repaint veranlasst werden.

Achja, und was mein Hauptproblem war, lag die ganze Zeit an der Scrollbar Einstellung (LargeChange), das stand auf 10, musste das auf 1 stellen.
Das hat irgendwie bewirkt, das die bereich von 0-100 nie komplett erreicht wurde. Immer nur von 0-90.

Thread kann geschlossen werden.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 45 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.078s | 17 Queries | GZIP : On ]