<?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[Zugriff auf HDC von PictureControl]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte gerne den Hintergrund eines PictureControls zu Beginn meines Programmes mit einem Bild belegen.</p>
<p>Dazu lese ich das Bild mit der Hilfsklasse CxImageEx ein.</p>
<p>Nun möchte ich das Bild in der OnPaint()-Funktion des Dialoges, dessen Child-Element das PictureControl ist, ausgeben lassen.</p>
<p>Folgender Aufruf stellt das Bild als Hintergrund des Dialoges dar (funktioniert):</p>
<pre><code class="language-cpp">m_Hintergrund.Draw( dc.GetSafeHdc() );
</code></pre>
<p>Nun habe ich folgendes Konstrukt probiert um mir das HDC vom Control zu holen um dies der Draw-Funktion zu übergeben, leider funktioniert das nicht:</p>
<pre><code class="language-cpp">HDC hDC = GetDlgItem(IDC_NAME_CONTROL)-&gt;GetDC()-&gt;m_hDC();
m_Hintergrund.Draw(hDC);
</code></pre>
<p>Wie muss ich vorgehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179566/zugriff-auf-hdc-von-picturecontrol</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 20:35:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179566.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Apr 2007 10:42:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriff auf HDC von PictureControl on Mon, 23 Apr 2007 10:42:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte gerne den Hintergrund eines PictureControls zu Beginn meines Programmes mit einem Bild belegen.</p>
<p>Dazu lese ich das Bild mit der Hilfsklasse CxImageEx ein.</p>
<p>Nun möchte ich das Bild in der OnPaint()-Funktion des Dialoges, dessen Child-Element das PictureControl ist, ausgeben lassen.</p>
<p>Folgender Aufruf stellt das Bild als Hintergrund des Dialoges dar (funktioniert):</p>
<pre><code class="language-cpp">m_Hintergrund.Draw( dc.GetSafeHdc() );
</code></pre>
<p>Nun habe ich folgendes Konstrukt probiert um mir das HDC vom Control zu holen um dies der Draw-Funktion zu übergeben, leider funktioniert das nicht:</p>
<pre><code class="language-cpp">HDC hDC = GetDlgItem(IDC_NAME_CONTROL)-&gt;GetDC()-&gt;m_hDC();
m_Hintergrund.Draw(hDC);
</code></pre>
<p>Wie muss ich vorgehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1271630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271630</guid><dc:creator><![CDATA[Dressman1981]]></dc:creator><pubDate>Mon, 23 Apr 2007 10:42:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf HDC von PictureControl on Mon, 23 Apr 2007 11:22:07 GMT]]></title><description><![CDATA[<p>wie immer: funktioniert nicht, ist keine Fehlerbeschreibung.<br />
Bekommst du nen Absturz? Passiert einfach nix? etc...<br />
Höchstwahrscheinlich zeichnest erst du rein und dann übermalt das PictureControl das wieder. Ich habe noch nie damit gearbeitet, aber der Name legt die Vermutung nahe, dass du dem PictureControl auf konventionellem Wege sagen kannst, welches Hintergrundbild es verwenden soll... Was du machst ist auf jedenfall ein unsauberer Hack</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1271655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271655</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 23 Apr 2007 11:22:07 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf HDC von PictureControl on Mon, 23 Apr 2007 11:33:56 GMT]]></title><description><![CDATA[<p>Hallo dEUs,</p>
<p>sorry für die etwas ungenaue Beschreibung des Fehlverhaltens.</p>
<p>Das Bild wird bei meiner Aktion nicht im Control angezeigt.</p>
<p>Beim ersten Codeschnipsel den ich angegeben habe, wird das geladende Bild als Hintergrund des Dialoges dargestellt, somit kann ich schon mal sicher gehen, dass die Bildinformationen korrekt über die Membervariable zur Verfügung stehen.</p>
<p>Wie wäre denn der richtige Weg auf dem Control ein Bild anzuzeigen?<br />
Der konventionelle Weg dem PictureControl ein Bild zuzuweisen (über den Ressourceneditor) funktioniert leider nicht, da ich aus Platzgründen eine Grafik im *.png-Format verwende, die als Ressource im Projekt eingebunden wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1271665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271665</guid><dc:creator><![CDATA[Dressman1981]]></dc:creator><pubDate>Mon, 23 Apr 2007 11:33:56 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf HDC von PictureControl on Mon, 23 Apr 2007 11:35:58 GMT]]></title><description><![CDATA[<p>von welchem Typ ist denn PictureControl?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1271668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271668</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Mon, 23 Apr 2007 11:35:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf HDC von PictureControl on Mon, 23 Apr 2007 13:46:16 GMT]]></title><description><![CDATA[<p>Das PictureControl scheint ne Ableitung von CStatic zu sein:</p>
<p><a href="http://www.functionx.com/visualc/controls/statictext.htm" rel="nofollow">http://www.functionx.com/visualc/controls/statictext.htm</a></p>
<p><em>&quot;The Picture control is the most classic static control of the MFC library.&quot;</em></p>
<p>Ich habe auch schon folgendes mit einem tatsächlichen *.bmp-File aus der Ressource probiert, das Bild wird aber ebenfalls nicht angezeigt:</p>
<p>CStatic* pImage = (CStatic*) GetDlgItem( IDC_NAME);<br />
HBITMAP hbitmap = ::LoadBitmap(::AfxGetResourceHandle(), MAKEINTRESOURCE(IDB_NAME));<br />
pImage-&gt;SetBitmap(hbitmap);</p>
<p>Edit:<br />
Wenn man den Style auf &quot;SS_OWNERDRAW&quot; ändert funktioniert es! <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/1271677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271677</guid><dc:creator><![CDATA[Dressman1981]]></dc:creator><pubDate>Mon, 23 Apr 2007 13:46:16 GMT</pubDate></item></channel></rss>