ich brauche für meine 3D-Editoren (World Editor und Model Editor) 4 Fenster, die die Welt bzw. das Model in verschiedenen Ansichten zeigen. Ich denke, fast alle hier wissen, was ich meine. So etwas, das eigentlich jeder Editor hat.
Jetzt ist es gar nicht so einfach, die Fenster durch Splitter verkleinern und vergrößern zu können, weil die zwei Splitter sich ja überkreuzen würden, aber leider nur mit Align funktionieren. Fazit: TSplitter klappt nicht. Und selber programmieren ist auch nicht so gut (zum Einen ziemlich viel Code, zum anderen Flackert's öfters).
Deshalb meine Frage: Kennt jemand von euch eine Delphi-Komponente oder etwas ähnliches, mit dem "Cross Splittering" möglich ist? Hier haben doch sicher schon viele solche Editoren geschrieben.
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Spar dir Zeit und Code, mach ein Context, für ein TPanel, und zeichne in diesem deine 4 Ansichten und Trennlinien mit OpenGL rein.
Du kannst über die Scissor Funktionalität die 4 Views in einen Context machen, dafür legst dir am besten eine Klasse 3DView oder so ähnlich an und Packst dort entweder einen dynamischen Array oder z.B. 4 feste variablen mit den Bildschirmausmaßen/Positionen für die einzelnen Views. Dann kannst so ganz einfach mit einen einzigen Context arbeiten.
Blender macht es so und für mein alten Editor hab ich das auch gemacht gehabt.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Danke, TAK2004! Mit deiner Hilfe und der einiger aus dem Delphi-Forum ist es mir gelungen, von der VCL wegzukommen und die Viewports per OpenGL zu verwalten. Zumal die ganzen Schwierigkeiten durch mehrere Kontexte damit umgangen werden. Danke für deinen Tipp, ich bin schon dabei, dies in die Tat um zusetzen. Das Ganze kann ich dann sogar noch schön erweitern und universeller zu machen.
Um den Thread zu verfollständigen, hier die wichtigsten Antworten aus dem Delphi-Forum:
Da wird alles möglich beschrieben - nur nicht die Umsetzung in VCL.
BenBE hat geschrieben:
Bitte kurz überlegen ... da kommen sogar Blinde drauf, wie das geht ...
BEdarf nur kleiner Änderungen bzgl. des Tutorials, der Einführung zweier Variablen sowie die Nutzung der OnMouse*-Events. Sag Bescheid, wenn's Klick gemacht hat (und damit ist nicht deine Maus gemeint).
Das Thema ist damit von meiner Seite abgeschlossen. Danke an alle, die mir dabei geholfen haben.
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.