Für Smalltalk bin ich nervlich zu fertig ^^
Also, ich habe Probleme damit, (Win-)Controls mittels
PaintTo auf ein Metafile zu zeichnen.
Controls mit Hilfe von
SetMapMode,
SetWindowExtEx und
SetViewportExtEx zu skalieren und zu drucken oder auf einen Canvas einer PaintBox zu zeichnen ist kein Problem. Auch ein Metafile anlegen und darin zeichnen ist für sich kein Problem.
Aber beides zusammen treibt mich in den Wahnsinn:
Eigentlicher Ablauf: Das Metafile soll 840 Pixel breit und 1188 Pixel hoch sein. Zeichne ich nun Controls darauf klappt das
nicht bei Controls, die tiefer liegen als meine Monitorauflösung (1200x1024) hoch ist (bsp.: Panel mit Label: Das Panel wird gezeichnet, das Label nicht). Das ClipRect vom MetafileCanvas ist nämlich maximal nur so groß wie mein Monitor. Auch mittels
SelectClipRgn lässt sich daran nichts ändern.
Versuch 1: Ich habe dann das Metafile zum testen nur halb so groß, also 420x594 Pixel gemacht, und mittels
SetWindowExtEx und Co. die Controls darauf gezeichnet. Jetzt ist rechts ein leerer Rand und Texte die links stehen, werden nach einer gewissen länge abgeschnitten.
Versuch 2: Ich zeichne jedes Control in ein eigenes Metafile, was ich dann mittels
Draw auf das eigentliche Metafile - diesmal wieder in "Originalgröße" - zeichne. Hier entstehen vertikal Lücken zwischen Controls, die eigentlich aneinander liegen. Außerdem ist der Spieß mit dem Panel und dem Label wie oben als Beispiel erwähnt Umgekehr: Das Label ist zu sehen, aber die Farbe des Panels nicht (wäre das Panel ganz weg, müsste ja eigentlich auch das Label weg sein).
Ich komme echt nicht mehr weiter
Gebt mir einen Strohhalm
Bin für jede Idee dankbar. Cui.