<?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[Edit (kein RichEdit) control Textfarbe für Zeile ändern]]></title><description><![CDATA[<p>Hallo Zusammen,</p>
<p>ich habe ein edit-Feld (kein RichEdit) in dem ich permanent verschiedene Infos ausgebe. D.h. es werden permanent Zeilen (Infos) ausgegeben bzw. angehängt und automatisch weiter gescrollt. Eine Info ist immer nur eine Zeile lang. Jetzt möchte ich manche Infos in einer anderen Farbe haben. Im nachfolgenden Beispiel möchte ich z.B. immer wenn die Zeile &quot;Fehler...&quot; ausgeben wird dass die Schrift dieser Zeile in rot ausgegeben wird. Die Farbe der anderen Zeilen (es sind ja mehrere Zeilen im edit-Feld sichtbar) soll sich dabei aber nicht ändern.</p>
<p>------Edit-Feld-Ausgabe ----<br />
mach nix...<br />
mach nix...<br />
mach nix...<br />
Fehler.....</p>
<p>----------------------------</p>
<p>Bisher habe ich es so probiert, aber in diesem Fall wird immer die Farbe aller sichbaren Zeilen ( auf rot geändert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
<pre><code>if((HWND)lParam==hwndEdit2)
{
  if(fehlertext == 1){SetTextColor((HDC)wParam,RGB(255,0,0));}
}return 0;
</code></pre>
<p>Wer kann weiterhelfen? Vielen Dank im voraus, gruss rommi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/237089/edit-kein-richedit-control-textfarbe-für-zeile-ändern</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Apr 2026 12:24:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/237089.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Mar 2009 15:41:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Edit (kein RichEdit) control Textfarbe für Zeile ändern on Tue, 24 Mar 2009 15:41:10 GMT]]></title><description><![CDATA[<p>Hallo Zusammen,</p>
<p>ich habe ein edit-Feld (kein RichEdit) in dem ich permanent verschiedene Infos ausgebe. D.h. es werden permanent Zeilen (Infos) ausgegeben bzw. angehängt und automatisch weiter gescrollt. Eine Info ist immer nur eine Zeile lang. Jetzt möchte ich manche Infos in einer anderen Farbe haben. Im nachfolgenden Beispiel möchte ich z.B. immer wenn die Zeile &quot;Fehler...&quot; ausgeben wird dass die Schrift dieser Zeile in rot ausgegeben wird. Die Farbe der anderen Zeilen (es sind ja mehrere Zeilen im edit-Feld sichtbar) soll sich dabei aber nicht ändern.</p>
<p>------Edit-Feld-Ausgabe ----<br />
mach nix...<br />
mach nix...<br />
mach nix...<br />
Fehler.....</p>
<p>----------------------------</p>
<p>Bisher habe ich es so probiert, aber in diesem Fall wird immer die Farbe aller sichbaren Zeilen ( auf rot geändert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
<pre><code>if((HWND)lParam==hwndEdit2)
{
  if(fehlertext == 1){SetTextColor((HDC)wParam,RGB(255,0,0));}
}return 0;
</code></pre>
<p>Wer kann weiterhelfen? Vielen Dank im voraus, gruss rommi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1685269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1685269</guid><dc:creator><![CDATA[rommi]]></dc:creator><pubDate>Tue, 24 Mar 2009 15:41:10 GMT</pubDate></item><item><title><![CDATA[Reply to Edit (kein RichEdit) control Textfarbe für Zeile ändern on Tue, 24 Mar 2009 16:09:37 GMT]]></title><description><![CDATA[<p>RichEdit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1685292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1685292</guid><dc:creator><![CDATA[O.o]]></dc:creator><pubDate>Tue, 24 Mar 2009 16:09:37 GMT</pubDate></item><item><title><![CDATA[Reply to Edit (kein RichEdit) control Textfarbe für Zeile ändern on Tue, 24 Mar 2009 16:30:29 GMT]]></title><description><![CDATA[<p>Also so wie ich das sehe, gibt es für ein Edit-Control kein Ownerdraw und kein Customdraw. Also wirst du wohl die Edit-Controll subclasen müssen und WM_PAINT komplett selbern ausführen DrawText und DrawTextex sind dann die Funktionen mit denen du arbeiten kannst. Eine nicht ganz leicht Sache würde ich sagen.<br />
Möglicherweise wäre es sinnvoller, als Ausgabe einen Listview im Reportstyle zu verwenden, dort kannst du den farbigen Text recht einfach mit Ownerdraw oder Customdraw (&lt;-wäre die Funktion meiner Wahl) realisieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1685308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1685308</guid><dc:creator><![CDATA[*guggstdu*]]></dc:creator><pubDate>Tue, 24 Mar 2009 16:30:29 GMT</pubDate></item><item><title><![CDATA[Reply to Edit (kein RichEdit) control Textfarbe für Zeile ändern on Tue, 24 Mar 2009 18:13:04 GMT]]></title><description><![CDATA[<p>richedit EM_SETSEL, EM_SETCHARFORMAT</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1685371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1685371</guid><dc:creator><![CDATA[.o0°Oo..o0°Oo..o0°Oo.]]></dc:creator><pubDate>Tue, 24 Mar 2009 18:13:04 GMT</pubDate></item><item><title><![CDATA[Reply to Edit (kein RichEdit) control Textfarbe für Zeile ändern on Wed, 25 Mar 2009 14:52:42 GMT]]></title><description><![CDATA[<p>Danke an Alle!</p>
<p>@guggstdu:<br />
Hast du mal ein funktionierendes Beispiel für mich? Benötige eigentlich nur ein Textfeld in meinem Hauptfenster wo ich die Infos ausgeben kann und bei Bedarf bestimmte Infozeilen in einer anderen Farbe. Mehr muss dat Dingens garnicht können (zumindest vorerst lol). Oder is es doch besser mit dem RichEdit-Feld(funzt das überhaupt noch unter Win98?)zu arbeiten. Am liebsten wäre mir ne relative unkomplizierte (so wenig Code wie möglich) Lösung die auch noch auf älteren OS-Version (ab Win 98) funktionieren..</p>
<p>Liebe Grüsse, rommi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1685844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1685844</guid><dc:creator><![CDATA[rommi]]></dc:creator><pubDate>Wed, 25 Mar 2009 14:52:42 GMT</pubDate></item><item><title><![CDATA[Reply to Edit (kein RichEdit) control Textfarbe für Zeile ändern on Wed, 25 Mar 2009 18:50:01 GMT]]></title><description><![CDATA[<p>Da sollte was drin stehen:<br />
<a href="http://winapi.foosyerdoos.org.uk/info/user_cntrls.php" rel="nofollow">http://winapi.foosyerdoos.org.uk/info/user_cntrls.php</a></p>
<p>Du musst ja auch so deinem Compiler mitteilen das er Code für<br />
ältere Windows erstellen soll.</p>
<p>MfG f.-th.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1685992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1685992</guid><dc:creator><![CDATA[f.-th.]]></dc:creator><pubDate>Wed, 25 Mar 2009 18:50:01 GMT</pubDate></item><item><title><![CDATA[Reply to Edit (kein RichEdit) control Textfarbe für Zeile ändern on Fri, 27 Mar 2009 16:05:45 GMT]]></title><description><![CDATA[<p>rommi schrieb:</p>
<blockquote>
<p>Danke an Alle!</p>
<p>@guggstdu:<br />
Hast du mal ein funktionierendes Beispiel für mich? Benötige eigentlich nur ein Textfeld in meinem Hauptfenster wo ich die Infos ausgeben kann und bei Bedarf bestimmte Infozeilen in einer anderen Farbe. Mehr muss dat Dingens garnicht können (zumindest vorerst lol). Oder is es doch besser mit dem RichEdit-Feld(funzt das überhaupt noch unter Win98?)zu arbeiten. Am liebsten wäre mir ne relative unkomplizierte (so wenig Code wie möglich) Lösung die auch noch auf älteren OS-Version (ab Win 98) funktionieren..</p>
<p>Liebe Grüsse, rommi</p>
</blockquote>
<p>Was verstehst du unter Codebeispiel? Der Ablauf für Listview wäre folgender: Listview erstellen, Items einfügen, dann den Event NM_CUSTOMDRAW auswerten und selbern zeichen. Code sollte in etwa so gestrickt sein:</p>
<p>Eventhandler</p>
<pre><code class="language-cpp">case NM_CUSTOMDRAW:
		return CustomDraw_Listview(hWnd, lParam);
</code></pre>
<p>Customdrawfunktion</p>
<pre><code class="language-cpp">int CustomDraw_Listview(HWND hWnd, LPARAM lParam){

	LPNMLVCUSTOMDRAW		cd;

	cd = (LPNMLVCUSTOMDRAW)lParam;
	switch(cd-&gt;nmcd.dwDrawStage){
		case CDDS_PREPAINT:
			return CDRF_NOTIFYITEMDRAW;
		case CDDS_ITEMPREPAINT:
			return CDRF_NOTIFYSUBITEMDRAW;
		case CDDS_SUBITEM | CDDS_ITEMPREPAINT:{
			HDC			hDC;
			COLORREF		Text = irgendwas, TextBk = irgendwas;

			hDC = cd-&gt;nmcd.hdc;
			SetBkColor(hDC, TextBk);
			SetTextColor(hDC, Text);
			:
			:
			:
			und
			soweiter
			und
			sofort
			:
			:
			:
			:
		}
	}
	return CDRF_DODEFAULT;
}
</code></pre>
<p>Ansonsten zu Richedit kann ich dir nur sagen, das klappt auch unter Win9x, nur hab ich Richedit noch nie einsetzen müsee, haher kann ich dir diesbezüglich keine Ratschläge geben. Achja wenn du nach CDDS_*** googels solltest du volständigen Code finden, ich wollte dir nur nicht alle Zeilen aus meiner Application rauskiopieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1687042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1687042</guid><dc:creator><![CDATA[*guggstdu*]]></dc:creator><pubDate>Fri, 27 Mar 2009 16:05:45 GMT</pubDate></item></channel></rss>