AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Form in Form --> Client.Top ist absolut, nicht relativ
Thema durchsuchen
Ansicht
Themen-Optionen

Form in Form --> Client.Top ist absolut, nicht relativ

Ein Thema von berens · begonnen am 16. Apr 2007
Antwort Antwort
berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#1

Form in Form --> Client.Top ist absolut, nicht relativ

  Alt 16. Apr 2007, 12:08
Hallo!

1000 Sorry für den bescheuerten Titel und falls das Thema schonmal irgendwo gewesen sein sollte, aber ich weiß leider nicht, wonach ich noch suchen soll.

Situation:
Maximiertes Form mit einer Scrollbox, deren Inhalt viel größer ist als der Bildschirm, also scrollen kann.

Ich starte nun ein zweites Programm von mir, wobei ich mit Hilfe von Parametern Werte übergeben, wie das Handle der Scrollbox, sowie späteres Top, Left, Height, Width des Bereiches, in dem sich dieses 2te Programm platzieren soll.

Hilfe: Stellt Euch eine Website vor, auf der ein Video platziert wird. Mein 2tes Programm ist dieses Video.
Warum eine extra .exe Datei? Ich mache die Anbindung vom Video über OLE. Da ggf. Ladezeiten etc. mein "Hauptprogramm" stoppen könnten, mache ich eine extra .exe Datei (auch wegen Fehlerbehandlung und ich kann jederzeit eine Unterstützung für neue Formate hinzufügen, ohne dass ich das Hauptprogramm ändern muss; dies sollte jetzt nicht Treadthema werden ob sinnvoll oder nicht, thx )

Dieser "Bereich" ist der maximale Bereich, indem sich das "Video" ausbreiten darf. Da bei einem quadratischem Bereich mit einem 4:3 Video das Quadrad nicht voll ausgefüllt werden würde, soll dich also das Form der 2ten Anwendung entsprechend eigenen Berechnungen automatisch anpassen dürfen.

Hilfe: Stellt Euch vor der Zielbereich ist quadratisch und Ihr habt je ein Video in dem Format 4:3, 16:9 und 1:1. Euer Form aus der 2ten .exe Datei ist rot. Bei dem 1:1 Video kein Problem: Das Rot ist nicht zu sehen. Bei 4:3 und 16:9 sieht man allerdings oben und unten rote Steifen. Das 2te Programm korrigiert nun bei jedem Videowechsel seine Höhe entsprechend dem Videoformat. Nun sind nie rote Streifen zu sehen.

Das Problem:
Angenommen der "Bereich" hat Top=0. Nun Scrolle ich um 500px nach unten. Das Video "springt" immer wieder in den sichtbaren Bereich (Form2 hat einen Timer, der immer wieder Top = 0 aufruft), obwohl der Bereich garnicht zu sehen sein sollte. Form2 orientiert sich scheinbar also an Form1, und nicht an der Scrollbox, welche aber das Parentwindow ist!

Wenn ich nun im Hauptprogramm an die Stelle des "Bereichs" ein Panel setze und das Form aus der 2ten Anwendung als Child dieses Panel mache (maximiert), dann funktioniert zwar das scrollen, allerdings kann ich dann nicht mehr vergrößern/verkleinern. Einerseits, wenn ich das Form auf ws_Normal setze und Top, Left etc korrigiere kann ich es nicht mehr finden (das kleinere Problem), andererseits, und das ist der wichtige Punkt: Das 2te Form könnte sich zwar an das Video anpassen, allerdings ist das Panel des Hauptprogrammes immernoch quadratisch. Transparent etc. für das Panel funktioniert nicht (darunter liegt OpenGL ).

Ausserdem wird das Form2, jedes mal, wenn ich Top auf 0 setze, um 4px nach links geschoben. Warum das?

Ich hoffe, das Problem ist klar geworden. Für irgendwelche Tips und Anregungen wäre ich sehr dankbar!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz