AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi [gelöst] Wie die Größe eines TMetafileCanvas festlegen ?
Thema durchsuchen
Ansicht
Themen-Optionen

[gelöst] Wie die Größe eines TMetafileCanvas festlegen ?

Ein Thema von kalmi01 · begonnen am 7. Jul 2006 · letzter Beitrag vom 7. Jul 2006
Antwort Antwort
kalmi01
(Gast)

n/a Beiträge
 
#1

[gelöst] Wie die Größe eines TMetafileCanvas festlegen ?

  Alt 7. Jul 2006, 13:19
Moin, moin,

wie kann ich die Größe eines TMetafileCanvas festlegen ?
Egal wie ich es anstelle, es kommt immer meine Desktopgröße raus.

so will es nicht:
Delphi-Quellcode:
WMF := TMetaFile.Create;
WMF.mmWidth := 2000;
WMF.mmHeigth := 2000;
Zeichnung := TMetaFileCanvas.Create(WMF, 0);
so auch nicht:
Delphi-Quellcode:
WMF := TMetaFile.Create;
WMF.mmWidth := 2000;
WMF.mmHeigth := 2000;
Zeichnung := TMetaFileCanvas.Create(WMF, WMF.Handle);
und auch das nicht:
Delphi-Quellcode:
drw := TPicture.Create;
drw.Metafile.MMHeight := 2000;
drw.Metafile.MMWidth := 2000;
WMF:= TMetaFile.Create;
Zeichnung := TMetaFileCanvas.Create(WMF, drw.Metafile.Handle);
so langsam bin ich am Verzweifeln.
Die Hilfe und die Forensuche haben mich nicht wirklich weiter gebracht.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Wie die Größe eines TMetafileCanvas festlegen ?

  Alt 7. Jul 2006, 13:35
Hallo Michael,

deine beiden letzten Versuche sehen aus wie Verzweiflungstaten und dein erster Versuch ist es wert analysiert zu werden: Du erzeugst ein Metafile-Objekt und dimensionierst es 2000 * 2000. Anschließend erzeugst du ein passendes TMetaFileCanvas-Objekt, wobei du mit dem device context handle 0 signalisierst, dass du den context des desktop windows verwenden möchtest. Der Konstruktor dimensioniert dabei dein Metafile entsprechend neu.

Probiere dochmal deine Dimensionierung zum richtigen Zeitpunkt vorzunehmen. Keine Garantie auf Erfolg.

Grüße vom marabu
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#3

Re: Wie die Größe eines TMetafileCanvas festlegen ?

  Alt 7. Jul 2006, 13:46
Hallo marabu,
Zitat:
deine beiden letzten Versuche sehen aus wie Verzweiflungstaten
Nicht wirklich, eigentlich sind sie nur der Versuch ein Handle mit einer passenden Größe zu übergeben.
Zitat:
Du erzeugst ein Metafile-Objekt und dimensionierst es 2000 * 2000. Anschließend erzeugst du ein passendes TMetaFileCanvas-Objekt, wobei du mit dem device context handle 0 signalisierst, dass du den context des desktop windows verwenden möchtest.
Und genau da liegt ja der Hund begraben.
Ich habe mit etlichen versch. Handles versucht eine passende Größe und entsprechenden ClipRect zu übergeben, aber immer mit dem Erfolg des ersten Versuchs.
  Mit Zitat antworten Zitat
Benutzerbild von jakobwenzel
jakobwenzel

Registriert seit: 31. Aug 2005
Ort: Ingelheim am Rhein
141 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Wie die Größe eines TMetafileCanvas festlegen ?

  Alt 7. Jul 2006, 14:07
IMHo meint marabu, dass du das schreiben sollst:
Delphi-Quellcode:
WMF := TMetaFile.Create;
Zeichnung := TMetaFileCanvas.Create(WMF, 0);
WMF.mmWidth := 2000;
WMF.mmHeigth := 2000;
Jakob Wenzel
"My store now sells Ninja Weapons!"
Comicverkäufer bei den Simpsons
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#5

[gelöst] Wie die Größe eines TMetafileCanvas festlegen ?

  Alt 7. Jul 2006, 14:25
so gehts:
Delphi-Quellcode:
WMF := TPicture.Create; <=== Das
WMF.Metafile.Width := 2000;
WMF.Metafile.Height := 2000;

Zeichnung := TMetaFileCanvas.Create(WMF.Metafile, 0); <=== und dann das
sind des Rätsels Lösung.

Zitat:
WMF := TMetaFile.Create;
Zeichnung := TMetaFileCanvas.Create(WMF, 0);
WMF.mmWidth := 2000;
WMF.mmHeigth := 2000;
gehört zu einem der dutzende Fehlversuche.
  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 23:34 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