<?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[Schwierigkeiten beim Button einfärben]]></title><description><![CDATA[<p>Hallo, ich habe nach der Anleitung hier im Forum versucht einen Button einzufärben. Hab einfach in die OnCtlColor folgendes geschrieben</p>
<pre><code class="language-cpp">HBRUSH CButtuonDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO: Attribute des Gerätekontexts hier ändern
    switch(pWnd-&gt;GetDlgCtrlID())
  {
  case IDC_BUTTON1:
    {
      pDC-&gt;SetTextColor(RGB(220,222,242)); //&lt;--textfarbe
      pDC-&gt;SetBkColor(RGB(58,60,105)); // &lt;-- hintergrundfarbe
      pDC-&gt;SetBkMode(TRANSPARENT);
    } break;
  default:
    {
      return hbr;
    } break;
  }   

    // TODO: Anderen Pinsel zurückgeben, falls Standard nicht verwendet werden soll
    return hbr;
}
</code></pre>
<p>Leider ist der Buton immer noch so grau wie vorher.<br />
Weiss jemand woran das liegen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/79511/schwierigkeiten-beim-button-einfärben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 02:03:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/79511.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Jul 2004 08:56:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 08:56:43 GMT]]></title><description><![CDATA[<p>Hallo, ich habe nach der Anleitung hier im Forum versucht einen Button einzufärben. Hab einfach in die OnCtlColor folgendes geschrieben</p>
<pre><code class="language-cpp">HBRUSH CButtuonDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO: Attribute des Gerätekontexts hier ändern
    switch(pWnd-&gt;GetDlgCtrlID())
  {
  case IDC_BUTTON1:
    {
      pDC-&gt;SetTextColor(RGB(220,222,242)); //&lt;--textfarbe
      pDC-&gt;SetBkColor(RGB(58,60,105)); // &lt;-- hintergrundfarbe
      pDC-&gt;SetBkMode(TRANSPARENT);
    } break;
  default:
    {
      return hbr;
    } break;
  }   

    // TODO: Anderen Pinsel zurückgeben, falls Standard nicht verwendet werden soll
    return hbr;
}
</code></pre>
<p>Leider ist der Buton immer noch so grau wie vorher.<br />
Weiss jemand woran das liegen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558629</guid><dc:creator><![CDATA[Mr_Groove]]></dc:creator><pubDate>Mon, 12 Jul 2004 08:56:43 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 09:45:19 GMT]]></title><description><![CDATA[<p>guckst du hier</p>
<p>[url]<br />
<a href="http://www.codeguru.com/Cpp/controls/buttonctrl/article.php/c2087" rel="nofollow">http://www.codeguru.com/Cpp/controls/buttonctrl/article.php/c2087</a><br />
[/url]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558669</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 12 Jul 2004 09:45:19 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 12:21:11 GMT]]></title><description><![CDATA[<p>hab das versucht, aber das prog lässt sich jetzt nicht mehr ausführen.<br />
hab mir auch die cpp Datei dieses Beispiels angeschaut und die ist ziemlich umfangreich für so ein kleines Problem.</p>
<p>Die Frage von mir ist eigentlich ja nur, warum sich die Buttons nicht färben mit der Funktion OnCtlColor? Bei Edit-Feldern und bei Static-Feldern geht es ja auch ohne Probleme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558809</guid><dc:creator><![CDATA[Mr_Groove]]></dc:creator><pubDate>Mon, 12 Jul 2004 12:21:11 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 12:31:24 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>Bob Ryan schrieb:</p>
<blockquote>
<p>One of the problems with the Windows architecture is in the inability to draw buttons in a color other than gray. While the class offered here isnt cutting-edge technology, it is something that a lot of people ask for and use (especially in multi-media applications). <strong>The only way to draw the buttons in color is to use the owner-draw capabilities (or create a bitmap button which is a horrible solution).</strong> CColorButton does all this behind the scene and allows the developer to:</p>
</blockquote>
<p>Du warst bestimmt nicht in der Stimmung dir das durchzulesen *g*. Ich habs mal <strong>fett</strong> markiert.</p>
<p>Du brauchst aber im Prinzip nur die Klasse einzubinden. Steht ja auch beschrieben wie du es einbinden sollst (kannst).</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558830</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Mon, 12 Jul 2004 12:31:24 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 12:42:08 GMT]]></title><description><![CDATA[<p>ich hab das beispiel schon probiert, aber mit eingebundener CColorButton lässt sich meine App nicht mehr starten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558848</guid><dc:creator><![CDATA[Mr_Groove]]></dc:creator><pubDate>Mon, 12 Jul 2004 12:42:08 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 13:00:49 GMT]]></title><description><![CDATA[<p>Was sagt er denn für einen Fehler?</p>
<p>Wir gehen das mal Schritt für Schritt durch:</p>
<p>1. colorbtn.cpp und .h einbinden<br />
2. In deine Project.h die colorbtn.h includen<br />
3. Eine Membervar davon anlegen</p>
<pre><code class="language-cpp">public:
  CColorButton m_clButton1;
</code></pre>
<p>4. Einen Button auf deinen Dialog setzen und Eigenschaft OwnerDraw auf TRUE setzen.<br />
5. In deine Project.cpp unter OnInitDialog() folgendes einsetzen:</p>
<pre><code class="language-cpp">COLORREF CLOUDBLUE = RGB(128, 184, 223);
COLORREF WHITE = RGB(255, 255, 255);
COLORREF BLACK = RGB(1, 1, 1);

m_clButton1.Attach(IDC_BUTTON1, this, CLOUDBLUE, BLACK, WHITE)
</code></pre>
<p>IDC_BUTTON1 ist die ID des Controls.</p>
<p>und nun solltest du einen farbigen Button haben. Oder? <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>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558869</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Mon, 12 Jul 2004 13:00:49 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 13:06:25 GMT]]></title><description><![CDATA[<p>versuch mal aus scherz ob du den button mit transparent auch durchsichtig hinbekommst. sowas brauch ich noch. hab nur leider keine zeit dafür das zu testen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558876</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 12 Jul 2004 13:06:25 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 13:35:56 GMT]]></title><description><![CDATA[<p>Also ich habe jetzt herausgefunden, wo das Problem liegt.</p>
<p>Ich kann einen Button nach der obigen Anleitung einfärben, allerdings nur, wenn er nur eine Variable vom Typ CColorButton hat. Ich habe allerdings nen Button, welchen ich auch über eine Control-Variable vom Typ CButton behandeln will (SetFocus, GetFocus etc.). wenn ich dem farbigen Button eine Variable im Klassenassistenen vom Typ CButton zuweise, funktioniert die App nicht mehr. Es gibt zwar keinen Fehler beim erstellen, aber beim Ausführen startet die App gar nicht. es kommt folgende Fehlermeldung:</p>
<p>Debug assertion failed!</p>
<p>Weiss jemand woran das liegen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558902</guid><dc:creator><![CDATA[Mr_Groove]]></dc:creator><pubDate>Mon, 12 Jul 2004 13:35:56 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 13:41:57 GMT]]></title><description><![CDATA[<p>Du brauchst ja auch keine Extra Membervar von deinem Button anzulegen. Du benutzt nun einfach, für weitere Aktionen, die Variable vom Typ CColorButton. Die ist ja nur abgeleitet von der Klasse CButton.</p>
<p>*winke*<br />
Hellsgore</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558905</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Mon, 12 Jul 2004 13:41:57 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 15:00:04 GMT]]></title><description><![CDATA[<p>dANKE an alle,</p>
<p>hab´s nach einigem probieren hinbekommen <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/558982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558982</guid><dc:creator><![CDATA[Mr_Groove]]></dc:creator><pubDate>Mon, 12 Jul 2004 15:00:04 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 15:09:40 GMT]]></title><description><![CDATA[<p>Das nennt sich vererbung. Die Klasse CColorButton erbt von CButton alles wichtigen Methoden.<br />
Somit kann man die auch verwenden. Fehlt etwas an Grundlagen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558989</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Mon, 12 Jul 2004 15:09:40 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Mon, 12 Jul 2004 15:12:07 GMT]]></title><description><![CDATA[<p>Ist es möglich, dass diese Klasse nicht die Möglichkeit bietet, Farben während der Laufzeit zu wechseln? Also den Hintergrund abhängig vom Focus zu gestalten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/558991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/558991</guid><dc:creator><![CDATA[Mr_Groove]]></dc:creator><pubDate>Mon, 12 Jul 2004 15:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Tue, 13 Jul 2004 07:11:37 GMT]]></title><description><![CDATA[<p>Weiss denn da niemand einen Rat, wie ich die Farben der Buttons zur Laufzeit ändern kann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/559293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/559293</guid><dc:creator><![CDATA[Mr_Groove]]></dc:creator><pubDate>Tue, 13 Jul 2004 07:11:37 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Tue, 13 Jul 2004 08:32:52 GMT]]></title><description><![CDATA[<p>Hallo, ich weiß jetzt nicht ob das klappt habs nicht getestet, aber vielleicht hilft dir UpdateData() weiter. Kann es dir aber nicht versprechen. Aber einen Versuch ist es ja wert, oder? <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/559337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/559337</guid><dc:creator><![CDATA[Compufreak*C++*]]></dc:creator><pubDate>Tue, 13 Jul 2004 08:32:52 GMT</pubDate></item><item><title><![CDATA[Reply to Schwierigkeiten beim Button einfärben on Tue, 13 Jul 2004 09:06:24 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ich hätte da eine Idee. Ist aber nicht sauber getestet.</p>
<p>in die colorbtn.h eintragen:</p>
<pre><code class="language-cpp">public:
   BOOL ChangeColor(const COLORREF BGColor, const COLORREF FGColor, const COLORREF DisabledColor);
</code></pre>
<p>in die colorbtn.cpp eintragen:</p>
<pre><code class="language-cpp">BOOL CColorButton::ChangeColor(const COLORREF BGColor, const COLORREF FGColor, const COLORREF DisabledColor)
{
	m_fg = FGColor;
	m_bg = BGColor; 
	m_disabled = DisabledColor;

         CColorButton::RedrawWindow();

	return TRUE;
}
</code></pre>
<p>in CDeinDlg.cpp:</p>
<pre><code class="language-cpp">void CDeinDlg::OnDrueckeKnöppsche()
{
   m_clButton1.ChangeColor(RGB(100,100,100), RGB(100,6,100), RGB(100,100,100));
   //m_clButton1.SetWindowText(&quot;Hallo&quot;);

}
</code></pre>
<p>m_clButton1 ist immernoch deine Membervar vom Typ CColorButton die zu deinem Button gehört.</p>
<p>Was habe ich gemacht?</p>
<p>Ich habe jetzt einfach eine Methode eingefügt, welche die Farbmembervariablen von der Klasse überschreibt und ihn bei einem Neuzeichnen dazu zwingt die geänderten Farbwerte zu benutzen. Mit SetWindowText() provoziere ich ein Neuzeichnen.</p>
<p>*winke*<br />
Hellsgore</p>
<p>EDIT: Jetzt zeichnet er sich selber, nach dem Aufruf von ChangeColor(), neu. Siehe CColorButton::RedrawWindow()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/559355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/559355</guid><dc:creator><![CDATA[Hellsgore]]></dc:creator><pubDate>Tue, 13 Jul 2004 09:06:24 GMT</pubDate></item></channel></rss>