<?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[Diagramm zeichnen in Dialogbasierter Anwendung MFC C++]]></title><description><![CDATA[<p>Hallo,</p>
<p>als alter Pascal und Assemblerprogrammierer habe ich folgendes Problem:</p>
<p>Ich habe eine Dialogfeld-Anwendung mit MFC VC++ erstellt.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Nun suche ich ein Steuerelement, das ich dort (dynamisch) einbauen kann, in dem ich selber aus einer Tabelle ein Diagramm zeichnen will.</p>
<p>Wie man in einer SDI Anwendung im Fenster zeichnet, weiß ich, aber ich find kein Control oder keine Klasse für eine Dialog-Anwendung, die scheinen alle Textorientiert zu sein.</p>
<p>Was kann man da machen, geht das überhaupt? Hilfe!</p>
<p>Gruß vom Umsteiger</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159707/diagramm-zeichnen-in-dialogbasierter-anwendung-mfc-c</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 09:21:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159707.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Sep 2006 10:35:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Diagramm zeichnen in Dialogbasierter Anwendung MFC C++ on Mon, 18 Sep 2006 10:35:02 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>als alter Pascal und Assemblerprogrammierer habe ich folgendes Problem:</p>
<p>Ich habe eine Dialogfeld-Anwendung mit MFC VC++ erstellt.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Nun suche ich ein Steuerelement, das ich dort (dynamisch) einbauen kann, in dem ich selber aus einer Tabelle ein Diagramm zeichnen will.</p>
<p>Wie man in einer SDI Anwendung im Fenster zeichnet, weiß ich, aber ich find kein Control oder keine Klasse für eine Dialog-Anwendung, die scheinen alle Textorientiert zu sein.</p>
<p>Was kann man da machen, geht das überhaupt? Hilfe!</p>
<p>Gruß vom Umsteiger</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139455</guid><dc:creator><![CDATA[Umsteiger]]></dc:creator><pubDate>Mon, 18 Sep 2006 10:35:02 GMT</pubDate></item><item><title><![CDATA[Reply to Diagramm zeichnen in Dialogbasierter Anwendung MFC C++ on Mon, 18 Sep 2006 10:57:18 GMT]]></title><description><![CDATA[<p>Zeiche doch einfach auf die Dialogoberfläche. Du brauchst nur auf die WM_PAINT reagieren, die Funktion dazu heißt OnPaint. In der brauchst Du Dir nur einen Gerätekontext zum Zeichnen holen und schon kanns losgehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139473</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Mon, 18 Sep 2006 10:57:18 GMT</pubDate></item><item><title><![CDATA[Reply to Diagramm zeichnen in Dialogbasierter Anwendung MFC C++ on Mon, 18 Sep 2006 11:03:21 GMT]]></title><description><![CDATA[<p>also, ich kann ohne weitere Vorbereitung auf die Oberfläche zeichnen?! Das probier ich mal! Danke, wär schon die Lösung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139476</guid><dc:creator><![CDATA[Umsteiger]]></dc:creator><pubDate>Mon, 18 Sep 2006 11:03:21 GMT</pubDate></item><item><title><![CDATA[Reply to Diagramm zeichnen in Dialogbasierter Anwendung MFC C++ on Mon, 18 Sep 2006 14:07:54 GMT]]></title><description><![CDATA[<p>Umsteiger schrieb:</p>
<blockquote>
<p>also, ich kann ohne weitere Vorbereitung auf die Oberfläche zeichnen?! Das probier ich mal! Danke, wär schon die Lösung.</p>
</blockquote>
<p>Ohne Vorbereitung stimmt nicht ganz. Du musst Dir wie gesagt einen Gerätekontext holen. Bei der OnDraw eines SDI-Projektes wird er Dir schon übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139651</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Mon, 18 Sep 2006 14:07:54 GMT</pubDate></item><item><title><![CDATA[Reply to Diagramm zeichnen in Dialogbasierter Anwendung MFC C++ on Tue, 19 Sep 2006 12:30:35 GMT]]></title><description><![CDATA[<p>Bei einer SDI Anwendung zeichne ich fröhlich.</p>
<p>Ich muß aber in das Hauptdialogfenster einer <strong>DialogAnwendung</strong> zeichnen, da gibts auch einen DC, mit eingeschränkten Funktionen, aber immerhin.<br />
nur, da tut sich auf meinem Bildschirm garnichts.</p>
<p>^also ich hol mir den DC so:^</p>
<p>CPaintDC dc(this);</p>
<p>^und übergeb ihn an eine Funktion, Compiler meckert nicht, in der Funktion gehts dann weiter:^</p>
<p>CString strTmp=&quot;Hallole&quot;;<br />
pDC-&gt;DrawEdge(&amp;rct,EDGE_SUNKEN,BF_MONO);<br />
pDC-&gt;DrawText(strTmp,5,&amp;rct,DT_CENTER);</p>
<p>^leider ist nix zu sehen - gibt da auch so eine Art Invalidate()?^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1140325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140325</guid><dc:creator><![CDATA[Umsteiger]]></dc:creator><pubDate>Tue, 19 Sep 2006 12:30:35 GMT</pubDate></item><item><title><![CDATA[Reply to Diagramm zeichnen in Dialogbasierter Anwendung MFC C++ on Tue, 19 Sep 2006 14:08:11 GMT]]></title><description><![CDATA[<p>Umsteiger schrieb:</p>
<blockquote>
<p>Bei einer SDI Anwendung zeichne ich fröhlich.</p>
<p>Ich muß aber in das Hauptdialogfenster einer <strong>DialogAnwendung</strong> zeichnen, da gibts auch einen DC, mit eingeschränkten Funktionen, aber immerhin.<br />
nur, da tut sich auf meinem Bildschirm garnichts.</p>
<p>^also ich hol mir den DC so:^</p>
<p>CPaintDC dc(this);</p>
<p>^und übergeb ihn an eine Funktion, Compiler meckert nicht, in der Funktion gehts dann weiter:^</p>
<p>CString strTmp=&quot;Hallole&quot;;<br />
pDC-&gt;DrawEdge(&amp;rct,EDGE_SUNKEN,BF_MONO);<br />
pDC-&gt;DrawText(strTmp,5,&amp;rct,DT_CENTER);</p>
<p>^leider ist nix zu sehen - gibt da auch so eine Art Invalidate()?^</p>
</blockquote>
<p>Musst das nicht fett schreiben, habe das auch so verstanden.<br />
Wo zeichnest Du denn fröhlich? Doch hoffentlich in der OnDraw Deiner SDI-Anwendung. Wie ich schon sagte gibts die nicht und bei der Dialoganwendung musst Du die OnPaint nehmen:</p>
<pre><code class="language-cpp">void CDeineDialogKlasse::OnPaint()
{
	CPaintDC dc(this); // device context for painting
	// TODO: Fügen Sie hier Ihren Meldungsbehandlungscode ein.
	// CDialog::OnPaint() soll zum Zeichnen von Meldungen nicht aufgerufen werden.

//hier kommen Deine Zeichenbefehle
}
</code></pre>
<p>So sollte es funktionieren. Ansosnsten gehts aber auch sonst wo mit dem Anfordern eines Gerätekontextes, die OnPaint garantiert Dir aber das Neuzeichnen, wenn z.B. Teile des Anwendungsfensters verdeckt waren. Was meinst Du mit Übergeben an eine andere Funktion? Poste das Ganze doch mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1140431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140431</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Tue, 19 Sep 2006 14:08:11 GMT</pubDate></item><item><title><![CDATA[Reply to Diagramm zeichnen in Dialogbasierter Anwendung MFC C++ on Thu, 21 Sep 2006 12:32:28 GMT]]></title><description><![CDATA[<p>So, jetzt zeichnet es wie gewünscht, lag an mehreren Sachen.</p>
<p>Es bleibt aber noch eine Frage:</p>
<p>wenn ich nur mein Diagramm neu aufbaue, sollte ich das Ereignis OnPaint() neu auslösen. Bis jetzt muß ich dazu eine andere Anwendung in den Vordergrund schalten, dann wieder meine und es ist upgedated (up-ge-dated was fürn Wort!).</p>
<p>Bei SDI gibts ja invalidate und updateviews oder so ähnlich, aber wie heißt das Äquivalent dazu für ein Dialogfeldprogramm (gelobt sei die Inkonsistenz...)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141782</guid><dc:creator><![CDATA[Umsteiger]]></dc:creator><pubDate>Thu, 21 Sep 2006 12:32:28 GMT</pubDate></item><item><title><![CDATA[Reply to Diagramm zeichnen in Dialogbasierter Anwendung MFC C++ on Thu, 21 Sep 2006 13:16:31 GMT]]></title><description><![CDATA[<p>Einfach dazu Invalidate aufrufen. Dies veranlasst ein neues OnPaint Event.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141833</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:16:31 GMT</pubDate></item><item><title><![CDATA[Reply to Diagramm zeichnen in Dialogbasierter Anwendung MFC C++ on Thu, 21 Sep 2006 13:25:29 GMT]]></title><description><![CDATA[<p>Ja wie schon Martin Richter sagt geht das auch mit Invalidate(). Das ist ja eine Funktion von CWnd, gilt logischerweise auch für Dialogfenster. Kannst auch InvalidateRect() nehmen, um nur einen Bereich als ungültig zu erklären. Teilweise minimiert das auch das Flackern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141851</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:25:29 GMT</pubDate></item></channel></rss>