<?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[OnCtlColor(...) macht alles wie erhofft, nur Buttons nicht]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>ich hab keine Ahnung, warum er alles einfärbt, außer die Buttons. Ich hoffe es ist nur eine Einstellungssache.<br />
Der Code sieht so aus</p>
<pre><code class="language-cpp">HBRUSH AuswertungDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    if(nCtlColor == CTLCOLOR_DLG) 
    { 
        hbr = CreateSolidBrush(RGB(66,113,166));//Hintergrund in Blau 
        pDC-&gt;SetBkMode(TRANSPARENT);
    }

    if(pWnd-&gt;GetDlgCtrlID() == IDC_BUTTON_WIN) 
    { 
        hbr = CreateSolidBrush(RGB(0,255,0));//Button soll grün werden 
        pDC-&gt;SetBkMode(TRANSPARENT);
    }

    if(pWnd-&gt;GetDlgCtrlID() == IDC_BUTTON_LOST) 
    { 
        hbr = CreateSolidBrush(RGB(255,0,0));//Button soll rot werden 
        pDC-&gt;SetBkMode(TRANSPARENT);
    }
    else 
    { 
        hbr = CreateSolidBrush(RGB(66,113,166));//Textfelder in Blau 
        pDC-&gt;SetBkMode(TRANSPARENT);
    }

	return hbr;
}
</code></pre>
<p>Ermacht den Dialog blau und die TExtfelder, aber die Buttons bleiben unberührt. Im Debugger sieht man, dass er vor dem anzeigen des Diaoges definitiv mehrmals durch die Funktion geht und dabei auch immer in den &quot;Button&quot;-Zweigen zu finden ist. Aber einfärben will er sie anscheinend nicht.</p>
<p>Vielen Dank für Eure Hilfe.</p>
<p>Ranger</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/202959/onctlcolor-macht-alles-wie-erhofft-nur-buttons-nicht</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Apr 2026 00:00:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202959.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Jan 2008 10:19:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OnCtlColor(...) macht alles wie erhofft, nur Buttons nicht on Thu, 17 Jan 2008 10:19:28 GMT]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>ich hab keine Ahnung, warum er alles einfärbt, außer die Buttons. Ich hoffe es ist nur eine Einstellungssache.<br />
Der Code sieht so aus</p>
<pre><code class="language-cpp">HBRUSH AuswertungDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    if(nCtlColor == CTLCOLOR_DLG) 
    { 
        hbr = CreateSolidBrush(RGB(66,113,166));//Hintergrund in Blau 
        pDC-&gt;SetBkMode(TRANSPARENT);
    }

    if(pWnd-&gt;GetDlgCtrlID() == IDC_BUTTON_WIN) 
    { 
        hbr = CreateSolidBrush(RGB(0,255,0));//Button soll grün werden 
        pDC-&gt;SetBkMode(TRANSPARENT);
    }

    if(pWnd-&gt;GetDlgCtrlID() == IDC_BUTTON_LOST) 
    { 
        hbr = CreateSolidBrush(RGB(255,0,0));//Button soll rot werden 
        pDC-&gt;SetBkMode(TRANSPARENT);
    }
    else 
    { 
        hbr = CreateSolidBrush(RGB(66,113,166));//Textfelder in Blau 
        pDC-&gt;SetBkMode(TRANSPARENT);
    }

	return hbr;
}
</code></pre>
<p>Ermacht den Dialog blau und die TExtfelder, aber die Buttons bleiben unberührt. Im Debugger sieht man, dass er vor dem anzeigen des Diaoges definitiv mehrmals durch die Funktion geht und dabei auch immer in den &quot;Button&quot;-Zweigen zu finden ist. Aber einfärben will er sie anscheinend nicht.</p>
<p>Vielen Dank für Eure Hilfe.</p>
<p>Ranger</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1438227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1438227</guid><dc:creator><![CDATA[Glasgow_Ranger]]></dc:creator><pubDate>Thu, 17 Jan 2008 10:19:28 GMT</pubDate></item><item><title><![CDATA[Reply to OnCtlColor(...) macht alles wie erhofft, nur Buttons nicht on Thu, 17 Jan 2008 11:42:10 GMT]]></title><description><![CDATA[<p>Bei Buttons geht das nicht über die OnCtrlColor. Du musst dir eine eigene Klasse von CButton ableiten und deren Zeichenfunktion überschreiben (Stichwort OwnerDraw-Button).<br />
Andere Möglichkeit: <a href="http://www.codeproject.com" rel="nofollow">www.codeproject.com</a> oder <a href="http://www.codeguru.com" rel="nofollow">www.codeguru.com</a><br />
Da gibts bereits fertige Klassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1438291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1438291</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Thu, 17 Jan 2008 11:42:10 GMT</pubDate></item><item><title><![CDATA[Reply to OnCtlColor(...) macht alles wie erhofft, nur Buttons nicht on Thu, 17 Jan 2008 12:16:09 GMT]]></title><description><![CDATA[<p>Danke Dir!</p>
<p>Ich hab das auch schon so ähnlich im Netz gelesen, haben aber vor nicht alzu langer Zeit auf Windows CEmal was probiert und dort funktioniert es eben auch auf die Funktion OnCtrlColor(...). Ich habe vermutet, wenn es da geht müsste es im allumfassenden MFC auch funktionieren. So kann man sich täuschen.</p>
<p>Vielen Dank nochmal,</p>
<p>Ranger</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1438318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1438318</guid><dc:creator><![CDATA[Glasgow_Ranger]]></dc:creator><pubDate>Thu, 17 Jan 2008 12:16:09 GMT</pubDate></item></channel></rss>