<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Per SetWindowPos() CStatic-Objekt an Image-Größe anpassen]]></title><description><![CDATA[<p>Ich versuche zur Zeit per SetWindowPos() ein CStatic-Objekt an die Größe eines durch GDI+ geliefertes Image (JPEG) dynamisch anzupassen. Hier Code-Auszüge:</p>
<pre><code class="language-cpp">CStatic* pPic = (CStatic*)GetDlgItem(IDC_PICTURE_OUT);
ASSERT_VALID(pPic);

// Gerätekontext darauf holen 
CDC* pPicCDC = pPic-&gt;GetDC();
ASSERT_VALID(pPicCDC);

// GDI+ Code
Graphics graphPic(pPicCDC-&gt;m_hDC);
// Bild zeichnen
graphPic.DrawImage(m_Image, 0,0);

// Fehlercode abfangen
_itoa(m_Image-&gt;GetLastStatus(), m_ErrorBuffer, 10);
TRACE0(&quot;DrawImage Status:&quot;);TRACE0(m_ErrorBuffer);TRACE0(&quot;\n&quot;);

// Größe an das Bild anpassen
ASSERT(pPic-&gt;SetWindowPos(GetParentFrame(),
				  0,
				  0,
				  m_Image-&gt;GetWidth(),
				  m_Image-&gt;GetHeight(),
				  SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER) != 0);
</code></pre>
<p>Das Ganze geschieht in der OnDraw() Methode meiner FormView. Das Problem ist, dass ich es mit SetWindowPos() nicht hinbekomme das Static an die Größe anzupassen... Mit MoveWindow() hingegen geht es einwandfrei. Ich würde nun aber trotzdem wissen, warum hier SetWindowPos() nicht funktioniert.</p>
<p>Für Hinweise wäre ich dankbar.</p>
<p>Prog</p>
<p>P.S.: Für diejenigen, die vielleicht mal darauf reinfallen: Nach einem erfolglosen DrawImage(), dass daher rührt, dass die Datei nicht gefunden werden konnte, gibt GetLastStatus() den Fehlercode 3 (zuwenig Speicher), statt 1 (File not found) zurück!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/47713/per-setwindowpos-cstatic-objekt-an-image-größe-anpassen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 23:18:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/47713.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Sep 2003 16:49:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Per SetWindowPos() CStatic-Objekt an Image-Größe anpassen on Mon, 01 Sep 2003 16:49:31 GMT]]></title><description><![CDATA[<p>Ich versuche zur Zeit per SetWindowPos() ein CStatic-Objekt an die Größe eines durch GDI+ geliefertes Image (JPEG) dynamisch anzupassen. Hier Code-Auszüge:</p>
<pre><code class="language-cpp">CStatic* pPic = (CStatic*)GetDlgItem(IDC_PICTURE_OUT);
ASSERT_VALID(pPic);

// Gerätekontext darauf holen 
CDC* pPicCDC = pPic-&gt;GetDC();
ASSERT_VALID(pPicCDC);

// GDI+ Code
Graphics graphPic(pPicCDC-&gt;m_hDC);
// Bild zeichnen
graphPic.DrawImage(m_Image, 0,0);

// Fehlercode abfangen
_itoa(m_Image-&gt;GetLastStatus(), m_ErrorBuffer, 10);
TRACE0(&quot;DrawImage Status:&quot;);TRACE0(m_ErrorBuffer);TRACE0(&quot;\n&quot;);

// Größe an das Bild anpassen
ASSERT(pPic-&gt;SetWindowPos(GetParentFrame(),
				  0,
				  0,
				  m_Image-&gt;GetWidth(),
				  m_Image-&gt;GetHeight(),
				  SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER) != 0);
</code></pre>
<p>Das Ganze geschieht in der OnDraw() Methode meiner FormView. Das Problem ist, dass ich es mit SetWindowPos() nicht hinbekomme das Static an die Größe anzupassen... Mit MoveWindow() hingegen geht es einwandfrei. Ich würde nun aber trotzdem wissen, warum hier SetWindowPos() nicht funktioniert.</p>
<p>Für Hinweise wäre ich dankbar.</p>
<p>Prog</p>
<p>P.S.: Für diejenigen, die vielleicht mal darauf reinfallen: Nach einem erfolglosen DrawImage(), dass daher rührt, dass die Datei nicht gefunden werden konnte, gibt GetLastStatus() den Fehlercode 3 (zuwenig Speicher), statt 1 (File not found) zurück!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/345142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/345142</guid><dc:creator><![CDATA[ProgRulez]]></dc:creator><pubDate>Mon, 01 Sep 2003 16:49:31 GMT</pubDate></item><item><title><![CDATA[Reply to Per SetWindowPos() CStatic-Objekt an Image-Größe anpassen on Mon, 01 Sep 2003 16:51:25 GMT]]></title><description><![CDATA[<p>Schon ma überlegt, was der letzte Parameter zu bedeuten hat ?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/345143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/345143</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 01 Sep 2003 16:51:25 GMT</pubDate></item><item><title><![CDATA[Reply to Per SetWindowPos() CStatic-Objekt an Image-Größe anpassen on Mon, 01 Sep 2003 16:53:20 GMT]]></title><description><![CDATA[<p>*argh*</p>
<p>Danke! Ohne NO_SIZE gehts natürlich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/345145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/345145</guid><dc:creator><![CDATA[ProgRulez]]></dc:creator><pubDate>Mon, 01 Sep 2003 16:53:20 GMT</pubDate></item><item><title><![CDATA[Reply to Per SetWindowPos() CStatic-Objekt an Image-Größe anpassen on Mon, 01 Sep 2003 16:56:24 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/345147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/345147</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 01 Sep 2003 16:56:24 GMT</pubDate></item></channel></rss>