<?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[Hintergrundfarbe CStatic]]></title><description><![CDATA[<p>Wie kann ich einem CStatic-Objekt die Hintergrundfarbe des Windows zuweisen.<br />
In diese Box werden zum Anzeigen von Digital Photos die JPG's dynamisch geladen.<br />
Da das Grössenverhältnis der Bilder nicht den Maßen der Box entspricht<br />
(Bilder sind entweder im Hoch- oder im Querformat) möchte ich den Rest der Box<br />
gleich der Hintergrundfarbe des Windows setzen. Leider wird der Rest der Box mit schwarz gefüllt. Ich könnte auch die Farbe mit exakten RGB-Werten setzen<br />
(siehe auskommentiertes), ist aber schlecht, da der spätere Anwender vielleicht andere Systemeinstellungen konfiguriert hat.<br />
Was mache ich falsch?</p>
<p>BOOL CExifRenDlg::DrawPicture(HDC hdc) {<br />
if(pPicture) //wenn bild geladen {<br />
RECT rc;<br />
this-&gt;m_PICTUREBOX.GetClientRect(&amp;rc);<br />
CBrush brush;<br />
//COLORREF colref = GetBkColor((HDC)GetDC());<br />
HDC myhdc = (HDC)this-&gt;m_PICTUREBOX.GetDC();<br />
COLORREF colref = GetBkColor(myhdc);</p>
<p><a href="//brush.CreateSolidBrush">//brush.CreateSolidBrush</a>(RGB(236,233,216));<br />
brush.CreateSolidBrush(colref);<br />
//SetBkColor(hdc, colref);<br />
int ifr = FillRect(hdc,&amp;rc,(HBRUSH)brush.m_hObject);</p>
<p>//Bild anzeigen mittels Render<br />
pPicture-&gt;Render(hdc, 0, 0, iWidth, iHeight, 0, lHeight, lWidth, - lHeight, &amp;rc);<br />
return TRUE;<br />
}<br />
return FALSE;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/6424/hintergrundfarbe-cstatic</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 03:36:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/6424.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Jul 2003 14:28:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hintergrundfarbe CStatic on Wed, 02 Jul 2003 14:28:00 GMT]]></title><description><![CDATA[<p>Wie kann ich einem CStatic-Objekt die Hintergrundfarbe des Windows zuweisen.<br />
In diese Box werden zum Anzeigen von Digital Photos die JPG's dynamisch geladen.<br />
Da das Grössenverhältnis der Bilder nicht den Maßen der Box entspricht<br />
(Bilder sind entweder im Hoch- oder im Querformat) möchte ich den Rest der Box<br />
gleich der Hintergrundfarbe des Windows setzen. Leider wird der Rest der Box mit schwarz gefüllt. Ich könnte auch die Farbe mit exakten RGB-Werten setzen<br />
(siehe auskommentiertes), ist aber schlecht, da der spätere Anwender vielleicht andere Systemeinstellungen konfiguriert hat.<br />
Was mache ich falsch?</p>
<p>BOOL CExifRenDlg::DrawPicture(HDC hdc) {<br />
if(pPicture) //wenn bild geladen {<br />
RECT rc;<br />
this-&gt;m_PICTUREBOX.GetClientRect(&amp;rc);<br />
CBrush brush;<br />
//COLORREF colref = GetBkColor((HDC)GetDC());<br />
HDC myhdc = (HDC)this-&gt;m_PICTUREBOX.GetDC();<br />
COLORREF colref = GetBkColor(myhdc);</p>
<p><a href="//brush.CreateSolidBrush">//brush.CreateSolidBrush</a>(RGB(236,233,216));<br />
brush.CreateSolidBrush(colref);<br />
//SetBkColor(hdc, colref);<br />
int ifr = FillRect(hdc,&amp;rc,(HBRUSH)brush.m_hObject);</p>
<p>//Bild anzeigen mittels Render<br />
pPicture-&gt;Render(hdc, 0, 0, iWidth, iHeight, 0, lHeight, lWidth, - lHeight, &amp;rc);<br />
return TRUE;<br />
}<br />
return FALSE;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31193</guid><dc:creator><![CDATA[Mulp]]></dc:creator><pubDate>Wed, 02 Jul 2003 14:28:00 GMT</pubDate></item></channel></rss>