<?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[ImageList, nicht alle geladenen Bitmaps werden ausgeben?]]></title><description><![CDATA[<p>Hallo,<br />
versuche gerade erfolglos die Bitmaps einer Imagelist der Reihe nach auf der Form auszugeben.<br />
Auf der Form habe ich ein TImage angelegt.<br />
Er wird immer nur das 1. Bitmap der Liste angezeigt.</p>
<p>Kann jemand den entscheidenden Tipp geben, damit auch das 2. Bitmap zum Vorschein kommt? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender){
Graphics::TBitmap* Bild = new Graphics::TBitmap();
  Bild-&gt;LoadFromFile(&quot;D:\\...\\Bild01.bmp&quot;);  ImageList1-&gt;Add(Bild,NULL);
  Bild-&gt;LoadFromFile(&quot;D:\\...\\Bild02.bmp&quot;);  ImageList1-&gt;Add(Bild,NULL);
  for (int i=0; i&lt;ImageList1-&gt;Count; i++) { //Count ist 2, das ist korrekt
    ImageList1-&gt;GetBitmap(i,Image1-&gt;Picture-&gt;Bitmap); 
    Sleep(1000);
  }
  delete Bild;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/196649/imagelist-nicht-alle-geladenen-bitmaps-werden-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 13:11:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196649.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Nov 2007 09:47:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ImageList, nicht alle geladenen Bitmaps werden ausgeben? on Thu, 01 Nov 2007 09:47:59 GMT]]></title><description><![CDATA[<p>Hallo,<br />
versuche gerade erfolglos die Bitmaps einer Imagelist der Reihe nach auf der Form auszugeben.<br />
Auf der Form habe ich ein TImage angelegt.<br />
Er wird immer nur das 1. Bitmap der Liste angezeigt.</p>
<p>Kann jemand den entscheidenden Tipp geben, damit auch das 2. Bitmap zum Vorschein kommt? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender){
Graphics::TBitmap* Bild = new Graphics::TBitmap();
  Bild-&gt;LoadFromFile(&quot;D:\\...\\Bild01.bmp&quot;);  ImageList1-&gt;Add(Bild,NULL);
  Bild-&gt;LoadFromFile(&quot;D:\\...\\Bild02.bmp&quot;);  ImageList1-&gt;Add(Bild,NULL);
  for (int i=0; i&lt;ImageList1-&gt;Count; i++) { //Count ist 2, das ist korrekt
    ImageList1-&gt;GetBitmap(i,Image1-&gt;Picture-&gt;Bitmap); 
    Sleep(1000);
  }
  delete Bild;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1395758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395758</guid><dc:creator><![CDATA[thunderbol4]]></dc:creator><pubDate>Thu, 01 Nov 2007 09:47:59 GMT</pubDate></item><item><title><![CDATA[Reply to ImageList, nicht alle geladenen Bitmaps werden ausgeben? on Thu, 01 Nov 2007 11:50:54 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>schau dir dochmal an was du da eigentlich machst</p>
<pre><code class="language-cpp">ImageList1-&gt;GetBitmap(i,Image1-&gt;Picture-&gt;Bitmap);
Sleep(1000);
</code></pre>
<p>Wann zeigst du Bilder an ?</p>
<p>Mfg<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395820</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Thu, 01 Nov 2007 11:50:54 GMT</pubDate></item><item><title><![CDATA[Reply to ImageList, nicht alle geladenen Bitmaps werden ausgeben? on Thu, 01 Nov 2007 15:22:11 GMT]]></title><description><![CDATA[<p>Hallo <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/690">@KlausB</a>, danke schon 'mal für Deinen Hinweis<br />
so klappt das:</p>
<pre><code class="language-cpp">for (int i=0; i&lt;ImageList1-&gt;Count; i++) { //Count ist 2, das ist korrekt
  ImageList1-&gt;Draw(Canvas, 10, 10, i, true); //zeichnet auf Form1
  Sleep(1000);
}
</code></pre>
<p>Das folgende leuchtet mir aber trotzdem noch nicht ganz ein:<br />
Die Funktion GetBitmap lädt das i-te Bitmap der Imageliste in die Variable Image1-&gt;Picture-&gt;Bitmap</p>
<pre><code class="language-cpp">ImageList1-&gt;GetBitmap(i,Image1-&gt;Picture-&gt;Bitmap);
</code></pre>
<p><strong>Beim 1. Durchlauf der Schleife wird das Bitmap1 von Image1 angezeigt. Warum also nicht auch Bitmap2 der Liste beim 2. Schleifendurchgang? Gibt's dafür keine Erklärung?</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1395927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1395927</guid><dc:creator><![CDATA[thunderbol4]]></dc:creator><pubDate>Thu, 01 Nov 2007 15:22:11 GMT</pubDate></item><item><title><![CDATA[Reply to ImageList, nicht alle geladenen Bitmaps werden ausgeben? on Fri, 02 Nov 2007 09:51:36 GMT]]></title><description><![CDATA[<p>Ich denke eher, dein 2. Bild wird angezeigt, aber nicht das erste.<br />
Ruf mal Application-&gt;ProcessMessages() vor Sleep() auf.<br />
(Bei einem TImage würde ich persönlich auch GetBitmap (statt Draw) vorziehen.)</p>
<p>P.S. Du solltest deine Bilder nicht mit absoluten Pfaden (&quot;D:\...&quot;) laden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1396272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1396272</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Fri, 02 Nov 2007 09:51:36 GMT</pubDate></item><item><title><![CDATA[Reply to ImageList, nicht alle geladenen Bitmaps werden ausgeben? on Sun, 04 Nov 2007 13:46:49 GMT]]></title><description><![CDATA[<p>Hallo <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9348">@Th</a>: Danke für Deine Antwort,</p>
<p>wie Du richtig angenommen hast, zeigt er immer das letzte und nicht das erste Bitmap der Liste an.<br />
Dann habe ich, wie vorgeschlagen &quot;Application-&gt;ProcessMessages()&quot; angewandt.<br />
Ergebnis: Er zeigt dann immer nur das erste Bild an.</p>
<p>Ich habe daraufhin -&gt;GetBitmap(i, Image2-&gt;Picture-&gt;Bitmap) umgestrickt mit -&gt;Assign()<br />
Es heißt jetzt:</p>
<pre><code class="language-cpp">for (int i=0; i&lt;ImageList1-&gt;Count; i++) { //Count ist 2, das ist korrekt
    ImageList1-&gt;GetBitmap(i,Bild);          //Bild ist TBitmap
    Image1-&gt;Picture-&gt;Assign(Bild);
    Application-&gt;ProcessMessages();
    Sleep(1000);
  }
</code></pre>
<p>Damit funktioniert es jetzt, wie ursprünglich vorgesehen.<br />
Alle Bilder der Liste werden nacheinander in das Image1 kopiert und angezeigt.</p>
<p><strong>Zu Application-&gt;ProcessMessages() sagt die C++ - Hilfe:</strong><br />
<em>&quot;..ermöglichen Sie der Anwendung, die Botschaften in der Warteschlange abzuarbeiten..&quot;</em><br />
<strong>Davon bin ich eigentlich immer ausgegangen, dass das Programm jede Befehlszeile selbstständig abarbeitet. <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="😕"
    /><br />
Falls nicht, wie hier, müßte ich in einem realen Programm, Schleife für Schleife einzeln prüfen, ob das Programm auch das macht, was man vorgesehen hat oder sich sonstwohin in den Urlaub verabschiedet.<br />
Wenn das der Fall ist, ist das BCB-Programm ein ganz schöner Mist!!</strong> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397473</guid><dc:creator><![CDATA[thunderbol4]]></dc:creator><pubDate>Sun, 04 Nov 2007 13:46:49 GMT</pubDate></item><item><title><![CDATA[Reply to ImageList, nicht alle geladenen Bitmaps werden ausgeben? on Sun, 04 Nov 2007 15:06:34 GMT]]></title><description><![CDATA[<p>Die ganze Windows-Programmierung basiert auf Botschaften (Messages).<br />
Durch einen Aufruf von z.B. Draw() wird noch nicht das Bild direkt angezeigt, sondern erst wenn die Windows-Botschaft WM_PAINT abgearbeitet wird, d.h. solange du eine Schleife in deinem Programm hast, mußt du z.B. mittels &quot;Application-&gt;ProcessMessages()&quot; selber dafür sorgen.</p>
<p>Sobald aber eine Ereignis-Routine ganz abgearbeitet ist, werden intern wieder die Windows-Botschaften abgearbeitet (z.B. Zeichnen, Mausbewegungen, Tastatur etc.).<br />
Mittels Sleep() legst du aber den gesamten Prozess schlafen, d.h. jedliche Windows-Botschaften für diesen Prozess werden nicht mehr abgearbeitet (daher kannst du dann z.B. noch nicht mal das Hauptfenster verschieben etc.).</p>
<p>Also ist nicht der BCB Schuld, sondern Windows <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>P.S. Wenn du einfach nur die Bilder nacheinander anzeigen willst, dann solltest du dafür die Komponente TTimer verwenden (damit verhinderst du auch das Anhalten deines Prozesses).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397515</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Sun, 04 Nov 2007 15:06:34 GMT</pubDate></item><item><title><![CDATA[Reply to ImageList, nicht alle geladenen Bitmaps werden ausgeben? on Sun, 04 Nov 2007 15:15:52 GMT]]></title><description><![CDATA[<p>thunderbol4 schrieb:</p>
<blockquote>
<p><strong>Wenn das der Fall ist, ist das BCB-Programm ein ganz schöner Mist!!</strong> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
</blockquote>
<p>Hoppla, da ist aber jemand schnell mit dem Urteil bei der Hand <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/1397531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397531</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Sun, 04 Nov 2007 15:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to ImageList, nicht alle geladenen Bitmaps werden ausgeben? on Mon, 05 Nov 2007 21:26:24 GMT]]></title><description><![CDATA[<p>Okay, ich nehm' das mit dem M*** ein Stückchen weit zurück =&gt;Windows ist schuld (mit der Aussage liegt man eigentlich immer richtig! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ).</p>
<p>Die Erklärung von <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9348">@Th</a> bringt zum Glück etwas Licht ins Dunkel. Daran werde ich bei unerklärlichem Programmverhalten auch in Zukunft denken.</p>
<p>Gut, dass man sowas hier nachfragen kann!</p>
<p>Vielen Dank nochmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398348</guid><dc:creator><![CDATA[thunderbol4]]></dc:creator><pubDate>Mon, 05 Nov 2007 21:26:24 GMT</pubDate></item></channel></rss>