<?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[GDI: LoadImage Problem (Bitmap anzeigen)]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe kaum Erfahrungen mit der GDI. Heut hab ich versucht eine Bitmap<br />
auf mein Fenster zu positionieren.</p>
<p>Ich habe eine Static-Variable in der WNDPROC.<br />
in lade dann in der WM_CREATE das Bitmap so in ein Handle:</p>
<pre><code>pic = LoadImage (GetModuleHandle (NULL), &quot;pic.bmp&quot;,IMAGE_BITMAP,0, 0,
LR_DEFAULTCOLOR | LR_LOADFROMFILE);
</code></pre>
<p>In der WM_PAINT hab ich dann folgenden Code:</p>
<pre><code>GetObject (pic, sizeof (BITMAP), &amp;img);						
hdcMem = CreateCompatibleDC (hdc);
SelectObject (hdcMem, pic);						   	
BitBlt (hdc, (myrect.right - myrect.left - img.bmWidth) / 2, 
(myrect.bottom-myrect.top - img.bmHeight) / 2, 
img.bmWidth,img.bmHeight, hdcMem, 0,0, SRCCOPY);
DeleteDC(hdcMem);
</code></pre>
<p>Problem ist jetzt:<br />
Wenn ich die pic-Variable in der WM_CREATE erzeuge, dann sieht man das Bitmap<br />
später nicht auf dem Button.</p>
<p>Wenn ich aber das HANDLE auch in der WM_PAINT lade, dann funzt alles einbandfrei.</p>
<p>Ich dacht nur, daß es unnötig ist, bei jeder Neuzeichnung die Bitmap zu<br />
laden...</p>
<p>Auch möcht ich das HANDLE mit ner Selbstdefinierten Message ändern.</p>
<pre><code>DeleteObject(pic);
pic = LoadImage (GetModuleHandle (NULL), &quot;pic2.bmp&quot;,IMAGE_BITMAP,0, 0,
LR_DEFAULTCOLOR | LR_LOADFROMFILE);
</code></pre>
<p>Aber auch das funktioniert nicht.(Änderung wird einfach nicht übernommen)<br />
Gibts dafür ne logische Erklärung?</p>
<p>Gruss,<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/67587/gdi-loadimage-problem-bitmap-anzeigen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 06:47:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/67587.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Mar 2004 21:00:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GDI: LoadImage Problem (Bitmap anzeigen) on Tue, 09 Mar 2004 21:00:57 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe kaum Erfahrungen mit der GDI. Heut hab ich versucht eine Bitmap<br />
auf mein Fenster zu positionieren.</p>
<p>Ich habe eine Static-Variable in der WNDPROC.<br />
in lade dann in der WM_CREATE das Bitmap so in ein Handle:</p>
<pre><code>pic = LoadImage (GetModuleHandle (NULL), &quot;pic.bmp&quot;,IMAGE_BITMAP,0, 0,
LR_DEFAULTCOLOR | LR_LOADFROMFILE);
</code></pre>
<p>In der WM_PAINT hab ich dann folgenden Code:</p>
<pre><code>GetObject (pic, sizeof (BITMAP), &amp;img);						
hdcMem = CreateCompatibleDC (hdc);
SelectObject (hdcMem, pic);						   	
BitBlt (hdc, (myrect.right - myrect.left - img.bmWidth) / 2, 
(myrect.bottom-myrect.top - img.bmHeight) / 2, 
img.bmWidth,img.bmHeight, hdcMem, 0,0, SRCCOPY);
DeleteDC(hdcMem);
</code></pre>
<p>Problem ist jetzt:<br />
Wenn ich die pic-Variable in der WM_CREATE erzeuge, dann sieht man das Bitmap<br />
später nicht auf dem Button.</p>
<p>Wenn ich aber das HANDLE auch in der WM_PAINT lade, dann funzt alles einbandfrei.</p>
<p>Ich dacht nur, daß es unnötig ist, bei jeder Neuzeichnung die Bitmap zu<br />
laden...</p>
<p>Auch möcht ich das HANDLE mit ner Selbstdefinierten Message ändern.</p>
<pre><code>DeleteObject(pic);
pic = LoadImage (GetModuleHandle (NULL), &quot;pic2.bmp&quot;,IMAGE_BITMAP,0, 0,
LR_DEFAULTCOLOR | LR_LOADFROMFILE);
</code></pre>
<p>Aber auch das funktioniert nicht.(Änderung wird einfach nicht übernommen)<br />
Gibts dafür ne logische Erklärung?</p>
<p>Gruss,<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/476872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476872</guid><dc:creator><![CDATA[Martin Schneider]]></dc:creator><pubDate>Tue, 09 Mar 2004 21:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to GDI: LoadImage Problem (Bitmap anzeigen) on Tue, 09 Mar 2004 21:40:52 GMT]]></title><description><![CDATA[<p>Du meinst, dass es funktioniert, wenn du LoadImage direkt in WM_PAINT aufrufst, aber nicht, wenn due den Aufruf in WM_CREATE machst, obwohl du pic als static deklariert hast <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/476903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476903</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 09 Mar 2004 21:40:52 GMT</pubDate></item><item><title><![CDATA[Reply to GDI: LoadImage Problem (Bitmap anzeigen) on Tue, 09 Mar 2004 22:54:43 GMT]]></title><description><![CDATA[<p>jo, genau so siehts aus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/476942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476942</guid><dc:creator><![CDATA[Martin Schneider]]></dc:creator><pubDate>Tue, 09 Mar 2004 22:54:43 GMT</pubDate></item><item><title><![CDATA[Reply to GDI: LoadImage Problem (Bitmap anzeigen) on Tue, 09 Mar 2004 23:41:06 GMT]]></title><description><![CDATA[<blockquote>
<p>SelectObject(hdcMem, pic);</p>
</blockquote>
<p>Vielleicht liegt es daran, dass du pic nicht wieder aus dem DC rausselektierst. Versuch das mal:</p>
<pre><code>case WM_PAINT:
   GetObject(pic, sizeof (BITMAP), &amp;img);                        
   hdcMem = CreateCompatibleDC(hdc);
   pic = SelectObject(hdcMem, pic);
   BitBlt(hdc, 
          (myrect.right - myrect.left - img.bmWidth) / 2, 
          (myrect.bottom-myrect.top - img.bmHeight) / 2, 
          img.bmWidth,
          img.bmHeight,
          hdcMem,
          0,
          0,
          SRCCOPY);
   pic = SelectObject(hdcMem, pic);
   DeleteDC(hdcMem);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/476967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/476967</guid><dc:creator><![CDATA[WebFritzi]]></dc:creator><pubDate>Tue, 09 Mar 2004 23:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to GDI: LoadImage Problem (Bitmap anzeigen) on Wed, 10 Mar 2004 12:54:38 GMT]]></title><description><![CDATA[<p>Danke für eure Antworten. Das Problem lag ganz woanders.<br />
(Habe mehrere Fenster von dieser Sorte in mein Hauptfenster getan. Und<br />
die Static Variable war nun für alle dieselbe. Und da das letzte erstellte<br />
Fenster kein Bild hatte, waren alle gleich ohne Bild)</p>
<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>
<p>@Webfurzi (gelöscht):<br />
Auf deine Kommentare verzichte ich gerne. Auch wenn Du vielleicht gar nicht<br />
mich meintest, find ich es echt störend und nervend, daß Du immer destruktiv<br />
hier am werkeln bist.<br />
<strong>Ich danke Webfritzi für seine Bemühungen immer alles zu erklären</strong> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/477045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/477045</guid><dc:creator><![CDATA[Martin Schneider]]></dc:creator><pubDate>Wed, 10 Mar 2004 12:54:38 GMT</pubDate></item></channel></rss>