<?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[mit mehrern Thread auf einen Device Context zeichnen??]]></title><description><![CDATA[<p>Ich möchte mehrere objekte (gleichzeitig) auf dem DC bewegen. Dabei soll je ein thread pro grafisches Objekt und desen bewegung erzeugt werden..</p>
<p>muss ich un den DC pointer welche global für alle thread gelten soll via CCritical section syncronisieren?? grüße</p>
<p>P.S.: Dieser Beitrag sollte eigentlich in das MFC forum..</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/175580/mit-mehrern-thread-auf-einen-device-context-zeichnen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Apr 2026 13:57:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/175580.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Mar 2007 09:37:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Mon, 12 Mar 2007 09:37:46 GMT]]></title><description><![CDATA[<p>Ich möchte mehrere objekte (gleichzeitig) auf dem DC bewegen. Dabei soll je ein thread pro grafisches Objekt und desen bewegung erzeugt werden..</p>
<p>muss ich un den DC pointer welche global für alle thread gelten soll via CCritical section syncronisieren?? grüße</p>
<p>P.S.: Dieser Beitrag sollte eigentlich in das MFC forum..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243807</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 12 Mar 2007 09:37:46 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Mon, 12 Mar 2007 09:41:36 GMT]]></title><description><![CDATA[<p>Afaik darf nur der Thread in dein Fenster zeichnen, der es auch angelegt hast - also solltest du die Bewegungen der Teilobjekte an den Oberflächenthread weitergeben, der sie dann darstellen kann (ja, diese Zugriffe mußt du synchronisieren).</p>
<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>P.S.: Dieser Beitrag sollte eigentlich in das MFC forum..</p>
</blockquote>
<p>Ist er doch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243811</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 12 Mar 2007 09:41:36 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Mon, 12 Mar 2007 09:45:59 GMT]]></title><description><![CDATA[<p>ja das P.S. war irrelevant:)</p>
<p>ja ich hab quaise 2 DC ein realen (paint funktion) und ein Temporären, welche in der paint funktion auf den realen kopiert wird (Bitblt). Auf den Temporären kann ich ja dann mit mehren thread zeichnen oder? seh ich das falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243814</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 12 Mar 2007 09:45:59 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Mon, 12 Mar 2007 10:51:50 GMT]]></title><description><![CDATA[<p>Nein! Auch das nicht.<br />
Nimm mal nur als Beispiel:</p>
<p>Thread 1: Setzt Textfarbe Blau<br />
Thread 2: Setzt Textfarbe Rot<br />
Thread 1: Führt DrawText aus<br />
Thread 2: Führt DrawText aus</p>
<p>Solch ein Kontextswitch ist möglich und würde Dir hier die Suppe versalzen.</p>
<p>Warum willst Du das überhaupt?<br />
Sammele die Datei in einem Thread und lass diese von dort direkt anzeigen.</p>
<p>Das Zeichnen wird nicht schneller, wenn Du es von mehreren Threads so ausführst!<br />
DCs sind eben nicht zustandlos. Es verbietet sich fast automatisch die Nutzung aus mehreren Threads von ein und dem selben DC!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243852</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 12 Mar 2007 10:51:50 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Mon, 12 Mar 2007 11:01:14 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Nein! Auch das nicht.<br />
Nimm mal nur als Beispiel:</p>
<p>Thread 1: Setzt Textfarbe Blau<br />
Thread 2: Setzt Textfarbe Rot<br />
Thread 1: Führt DrawText aus<br />
Thread 2: Führt DrawText aus</p>
<p>Solch ein Kontextswitch ist möglich und würde Dir hier die Suppe versalzen.</p>
</blockquote>
<p>müsste aber eigentlich gehen, wenn man einen lock benutzt (mutex o.ä.) und bevor man den mutex freigibt ein 'GdiFlush()' aufruft...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243858</guid><dc:creator><![CDATA[ten]]></dc:creator><pubDate>Mon, 12 Mar 2007 11:01:14 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Mon, 12 Mar 2007 11:06:43 GMT]]></title><description><![CDATA[<p>nene die einzelnen thread positionieren jeweils ihr eingens Grafikobjekt bei jedem aufruf auf dem DC. Danach malt der hauptthread der paint funktion diese temp DC.</p>
<p>Beispiel. man lässt 2 objekt unabhängig (jeweils ein trhead) rotieren.. dabei berechnet jeder thread die neie positon ...</p>
<p>der hauptthread malt dann diese objekte abhänger der jeweiligen postionen auf den paint DC.</p>
<p>jeder Thread hat dann quasie seinen eignen zeichen-Bereich auf dem DC..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243862</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 12 Mar 2007 11:06:43 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Mon, 12 Mar 2007 11:14:25 GMT]]></title><description><![CDATA[<p>Und wie zeichnest Du bitte in den DC ohne Attribute des DCs zu verändern?<br />
Ich sehe nicht wie das Zeit sparen soll?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14758">@ten</a>: Und warum sollteich dann wieder mehere DCs verwenden wenn ich dann bei alles wieder runtersynchronisiere auf einen Thread?<br />
Das macht doch keinen Sinn.</p>
<p>Sobald man synchonisierung in Threads verwenden muss, muss man sich auch fragen, wann sich Threads blockieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243867</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 12 Mar 2007 11:14:25 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Mon, 12 Mar 2007 11:19:06 GMT]]></title><description><![CDATA[<p>naja es geht darum das die einzlene thread nicht nur für das zeichnen der objekte ist.</p>
<p>jeder Thread soll stellt einen unabhängigen prozess einer maschine dar....diese sollen zusätlich visualisiert werden. beispiel Motorachsenrotation!</p>
<p>MotorA dreht sich mit 500U/Min<br />
MororB dreht sich mit 1000U/Min</p>
<p>diese rotation soll abhängig der U/min im gemeinsam DC dargstellt werden. und jeder motor hat einen eigene trhead..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243872</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 12 Mar 2007 11:19:06 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Mon, 12 Mar 2007 20:29:34 GMT]]></title><description><![CDATA[<p>Ja und, blubb?<br />
Deswegen musst du ja noch lange nicht in den Motörachsenthreads zeichnen, oder? Reicht ja wenn die das irgendwem mitteilen der das dann zeichnet. Oh Mann Mann Mann Mann...</p>
<p>Davon abgesehen, wieso verwendest du dafür überhaupt irgendwelche Threads?<br />
Erklär mal... dann kann ich dir nämlich zurückerklären wieso du dafür eigentlich garkeine Threads brauchst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244322</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 12 Mar 2007 20:29:34 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Tue, 13 Mar 2007 06:29:55 GMT]]></title><description><![CDATA[<p>ja ich weis.... bin am überlegen wei ich das machen könnte...</p>
<p>wenn ich jetzt bspw. einee anwendung habe, in der 10 Stopuhren auf einem fenster sind. Jede Stopuhr hat einne Start und Stop Button, und eine Zeitanzeige... und alle Stopuhren sind auf einem gemeinsmaen DC eines Fenster dargestellt.</p>
<p>naja und ich dachte mir wenn ich mir das ich für jede stopuhr einen eigen thread mache, welche die &quot;uhrzeit&quot; auf den gemeinsamen DC darstellt.</p>
<p>Wie würdest ihr das gehen.. oder wie würded das ihr lösen ohne WM_TIMER oder so zu verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244441</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 13 Mar 2007 06:29:55 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Tue, 13 Mar 2007 06:59:00 GMT]]></title><description><![CDATA[<p>mach doch 10 child windows, dann hast du 10 DCs...<br />
und das problem mit multithreads in einem DC hat sich erledigt <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/1244445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244445</guid><dc:creator><![CDATA[ten]]></dc:creator><pubDate>Tue, 13 Mar 2007 06:59:00 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Tue, 13 Mar 2007 07:04:06 GMT]]></title><description><![CDATA[<p>ja aber es sollte alle auf einem DC funktionieren.... es sinst später keine stopuhren... war nur als Beispiel gedacht wieso ich thread verwenden möchte...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244449</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 13 Mar 2007 07:04:06 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Tue, 13 Mar 2007 07:08:00 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>ja aber es sollte alle auf einem DC funktionieren....</p>
</blockquote>
<p>warum? es merkt keiner, dass es child-windows sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244451</guid><dc:creator><![CDATA[ten]]></dc:creator><pubDate>Tue, 13 Mar 2007 07:08:00 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Tue, 13 Mar 2007 07:18:22 GMT]]></title><description><![CDATA[<p>hmm kann man child-windows auf einem fenster so anordnen das keine übergänge zu sehen sind? das der DC später eine maschine abstrakt darstellt...die maschine behinhaltet unterscheidliche unabhänge prozesse (jeweils trhead dacht ich mir) welche in ihrem fortschritt/status auf dem DC dargestelt wernde soll..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244457</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 13 Mar 2007 07:18:22 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Tue, 13 Mar 2007 08:29:40 GMT]]></title><description><![CDATA[<p>das geht. man kann child windows ohne rand u.ä. machen. man kann in jedes childwnd separat malen/blitten und du kannst es beliebig im hauptfenster positionieren. vielleicht kennste noch 'custom controls'? die war'n früher mal sehr beliebt in vb und vc++ etc. (weiss ja nicht mehr wie das heute ist).<br />
es gibt übrigens auch open source libraries für sowas (mit allen möglichen grafikobjekten usw.)</p>
<p>btw: guck dir mal das an: <a href="http://www.blinkenlights.de/download/bm_play.zip" rel="nofollow">http://www.blinkenlights.de/download/bm_play.zip</a><br />
hat ein freund von mir gemacht, die fenster des hauses sind alles child windows)<br />
du musst dir von der seite die animationen runterladen: <a href="http://www.blinkenlights.de/movies.en.html" rel="nofollow">http://www.blinkenlights.de/movies.en.html</a><br />
damit du was siehst<br />
<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/1244494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244494</guid><dc:creator><![CDATA[ten]]></dc:creator><pubDate>Tue, 13 Mar 2007 08:29:40 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Tue, 13 Mar 2007 08:33:07 GMT]]></title><description><![CDATA[<p>und wenn ich child windows überschneiden darstelle dürfte auch kein problem sein??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244497</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 13 Mar 2007 08:33:07 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Tue, 13 Mar 2007 08:38:24 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>ja ich weis.... bin am überlegen wei ich das machen könnte...</p>
<p>wenn ich jetzt bspw. einee anwendung habe, in der 10 Stopuhren auf einem fenster sind. Jede Stopuhr hat einne Start und Stop Button, und eine Zeitanzeige... und alle Stopuhren sind auf einem gemeinsmaen DC eines Fenster dargestellt.</p>
<p>naja und ich dachte mir wenn ich mir das ich für jede stopuhr einen eigen thread mache, welche die &quot;uhrzeit&quot; auf den gemeinsamen DC darstellt.</p>
<p>Wie würdest ihr das gehen.. oder wie würded das ihr lösen ohne WM_TIMER oder so zu verwenden?</p>
</blockquote>
<p>Das ist einfach nicht gut. Es berücksichtigt nicht das Windows auf Befehl zeichnen will. Und eine &quot;letzte&quot;-Kopie vorzubereiten für einen solchen Fall ist auch Quark.</p>
<p>10 Stopuhren heißt:<br />
1 Routine die zeichnet und bei Bedarf eben die 10 Stopuhren und Ihre Infos abfragen.<br />
Jede Stopuhr setzt einen Invalidate für den Bereich des Bildschirms ab, der neu gezeichnet werden muss.<br />
Die OnPaint Routine kann ermitteln welches rectangle zu zeichnen ist und welche Objekte betroffen sind. Es muss also nicht alles neu gezeichnet werden.</p>
<p>Die wenigesten Entwickler machen sich die Mühe das Rect zu berücksichtigen, das mit OnPaint/BeginPaint geliefert wird, aber es macht das zeichnen erst effektiv.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244506</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 13 Mar 2007 08:38:24 GMT</pubDate></item><item><title><![CDATA[Reply to mit mehrern Thread auf einen Device Context zeichnen?? on Tue, 13 Mar 2007 08:42:48 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35992">@Martin</a>: kannst du mal ei nbeispiel amchen mit dem invalidate füe einen bestimmten bereich?</p>
<p>Ist es dennoch sinvoll ein trhead pro stopuihr zu machen... das sie unabhänign voneinader die zeit zählen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244510</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 13 Mar 2007 08:42:48 GMT</pubDate></item></channel></rss>