<?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[Icons, CImageList und CToolBarCtrl]]></title><description><![CDATA[<p>In meiner neuen Klasse, abgeleitet von CToolbarCtrl werden die Buttons dynamisch angehängt und mit Icons versehen.<br />
Die Icons werden ja in der ImageList des Controls gespeichert, die ich mit</p>
<p>ilist-&gt;Create(32, 32, ILC_MASK | ILC_COLOR32, 100, 0);</p>
<p>auch neu erzeuge.<br />
Die Icons haben 32Bit Farbtiefe und einen Alphakanal und werden mit</p>
<p>AfxGetApp()-&gt;LoadIcon(...)</p>
<p>der imagelist übergeben. Funktioniert auch alles wunderbar. Aber leider nur unter XP.</p>
<p>Windows 2000 kann meinen Informationen zufolge wohl keinen Alphakanal darstellen.</p>
<p>Icon-Dateien haben ja die Möglichkeit mehrere Abbilder zu erfassen. So habe<br />
ich nun auch ein 24Bit tiefes Bild hinzugefügt (logischerweise ohne Alpha).</p>
<p>Wenn ich jetzt aber nun die ImageListe mit ILC_COLOR24 erzeuge, wird trotzdem<br />
das 32 bit bild verwendet, aber die maske nicht richtig verwendet.</p>
<p>Ich hatte angenommen, je nach vorgabe der imagelist, wird entsprechend das abbild aus dem Icon gezogen.</p>
<p>auch ein zusätzliches abbild, in einer noch geringeren farbtiefe mit ganz anderem inhalt wird nicht verwendet.<br />
folglich benutzt er wohl immer die höchste farbtiefe und rechnet die runter.<br />
Hab ich das so richtig verstanden?</p>
<p>Wie bekomme ich es hin, dass er ein anderes abbild läd?<br />
Sonst müsste ich ja im falle von version &lt; windowsXP eine andere icondatei laden,<br />
was meiner einschätzung nach, ja nicht im sinne des erfinders ist, oder?</p>
<p>vielen dank für ratschläge und hinweise,<br />
Smeagol</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182173/icons-cimagelist-und-ctoolbarctrl</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 13:55:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182173.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 May 2007 08:48:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Icons, CImageList und CToolBarCtrl on Tue, 22 May 2007 08:48:42 GMT]]></title><description><![CDATA[<p>In meiner neuen Klasse, abgeleitet von CToolbarCtrl werden die Buttons dynamisch angehängt und mit Icons versehen.<br />
Die Icons werden ja in der ImageList des Controls gespeichert, die ich mit</p>
<p>ilist-&gt;Create(32, 32, ILC_MASK | ILC_COLOR32, 100, 0);</p>
<p>auch neu erzeuge.<br />
Die Icons haben 32Bit Farbtiefe und einen Alphakanal und werden mit</p>
<p>AfxGetApp()-&gt;LoadIcon(...)</p>
<p>der imagelist übergeben. Funktioniert auch alles wunderbar. Aber leider nur unter XP.</p>
<p>Windows 2000 kann meinen Informationen zufolge wohl keinen Alphakanal darstellen.</p>
<p>Icon-Dateien haben ja die Möglichkeit mehrere Abbilder zu erfassen. So habe<br />
ich nun auch ein 24Bit tiefes Bild hinzugefügt (logischerweise ohne Alpha).</p>
<p>Wenn ich jetzt aber nun die ImageListe mit ILC_COLOR24 erzeuge, wird trotzdem<br />
das 32 bit bild verwendet, aber die maske nicht richtig verwendet.</p>
<p>Ich hatte angenommen, je nach vorgabe der imagelist, wird entsprechend das abbild aus dem Icon gezogen.</p>
<p>auch ein zusätzliches abbild, in einer noch geringeren farbtiefe mit ganz anderem inhalt wird nicht verwendet.<br />
folglich benutzt er wohl immer die höchste farbtiefe und rechnet die runter.<br />
Hab ich das so richtig verstanden?</p>
<p>Wie bekomme ich es hin, dass er ein anderes abbild läd?<br />
Sonst müsste ich ja im falle von version &lt; windowsXP eine andere icondatei laden,<br />
was meiner einschätzung nach, ja nicht im sinne des erfinders ist, oder?</p>
<p>vielen dank für ratschläge und hinweise,<br />
Smeagol</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1289668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1289668</guid><dc:creator><![CDATA[Smeagol]]></dc:creator><pubDate>Tue, 22 May 2007 08:48:42 GMT</pubDate></item><item><title><![CDATA[Reply to Icons, CImageList und CToolBarCtrl on Wed, 23 May 2007 09:46:22 GMT]]></title><description><![CDATA[<p>Also, mittlerweile bin ich zu folgender Erkenntnis gekommen:</p>
<p>Die CImageList wird mit ILC_COLOR32 created und die Icons über AfxGetApp()-&gt;LoadIcon(...) eingefügt.</p>
<p>Die Icons haben 2 Abbilder, ein 32Bit Color mit AlphaKanal und eins mit 256 Farben.<br />
WinXP läd dann das hochwertige und Win2k das kleinere, automatisch.</p>
<p>Den Sinn von ILC_COLOR32 bleibt mir jedoch verborgen.<br />
wenn ich mit ILC_COLOR8 das erzeuge, sehen die icons zumindest unter XP schon verwurschtelt aus.<br />
eigentlich war ich mal davon ausgegangen, dass abhängig der imagelist-einstellung das icon-abbild gewählt wird, scheint demnach ja nicht so.</p>
<p>Zumindest ist jetzt mein Problem gelöst. sollte sich noch jemand dazu berufen fühlen, mir den Rest zu erklären, würde ich mich freuen.</p>
<p>bis dann<br />
Smeagol</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1290467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1290467</guid><dc:creator><![CDATA[Smeagol]]></dc:creator><pubDate>Wed, 23 May 2007 09:46:22 GMT</pubDate></item><item><title><![CDATA[Reply to Icons, CImageList und CToolBarCtrl on Thu, 24 May 2007 07:38:25 GMT]]></title><description><![CDATA[<p>Du irrst Dich. IMHO wird bereits bei LoadIcon die entsprechende Farbtiefe und Größe gewählt. Das Problem wäre in LoadIcon zu suchen...</p>
<p>Verhält sich LoadImage identisch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291211</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 24 May 2007 07:38:25 GMT</pubDate></item></channel></rss>