<?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[Handleobjekte kopieren]]></title><description><![CDATA[<p>Die ganzen Handles sind ja intern nur Zeiger. Das heißt, wenn ich folgenden Code habe:</p>
<pre><code class="language-cpp">HBITMAP bmp=CreateBitmap (400, 300, 1, 1, NULL);
HBITMAP bmp2=bmp;
</code></pre>
<p>dann greifen beide Variablen auf das gleiche Bild zu.</p>
<p>Nun würd ich gern wissen: Gibt es Funktionen zum 1:1-Kopieren von Objekten, die durch Handles repräsentiert werden? Im obigen Beispiel könnte ich zwar das zweite Bild auch mit CreateBitmap erstellen, beide Bilder in DCs speichern und dann das eine auf das andere blitten, aber das ist ja vergleichsweise umständlich. Gibt es nicht so etwas, wie</p>
<pre><code class="language-cpp">HBITMAP bmp2=CopyHandleObject (bmp);
</code></pre>
<p>Am besten wäre es noch, wenn dies eine einzige Funktion wär, die mit allen Handles (HBITMAP, HFONT, HBRUSH etc.) gleichermaßen klarkommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179082/handleobjekte-kopieren</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 01:31:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179082.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 Apr 2007 11:22:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Handleobjekte kopieren on Wed, 18 Apr 2007 11:22:13 GMT]]></title><description><![CDATA[<p>Die ganzen Handles sind ja intern nur Zeiger. Das heißt, wenn ich folgenden Code habe:</p>
<pre><code class="language-cpp">HBITMAP bmp=CreateBitmap (400, 300, 1, 1, NULL);
HBITMAP bmp2=bmp;
</code></pre>
<p>dann greifen beide Variablen auf das gleiche Bild zu.</p>
<p>Nun würd ich gern wissen: Gibt es Funktionen zum 1:1-Kopieren von Objekten, die durch Handles repräsentiert werden? Im obigen Beispiel könnte ich zwar das zweite Bild auch mit CreateBitmap erstellen, beide Bilder in DCs speichern und dann das eine auf das andere blitten, aber das ist ja vergleichsweise umständlich. Gibt es nicht so etwas, wie</p>
<pre><code class="language-cpp">HBITMAP bmp2=CopyHandleObject (bmp);
</code></pre>
<p>Am besten wäre es noch, wenn dies eine einzige Funktion wär, die mit allen Handles (HBITMAP, HFONT, HBRUSH etc.) gleichermaßen klarkommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268327</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Wed, 18 Apr 2007 11:22:13 GMT</pubDate></item><item><title><![CDATA[Reply to Handleobjekte kopieren on Wed, 18 Apr 2007 11:47:38 GMT]]></title><description><![CDATA[<p>GetObject, CreateBitmap, GetBitmapBits, SetBitmapBits!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268357</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 18 Apr 2007 11:47:38 GMT</pubDate></item><item><title><![CDATA[Reply to Handleobjekte kopieren on Wed, 18 Apr 2007 12:12:01 GMT]]></title><description><![CDATA[<p>Das ist ja das, was ich vermeiden will: Man holt sich die Informationen und kopiert dann manuell. Aber ich hätte gern eine Funktion, die alle Grafikhandles gleichermaßen kopieren kann. Ich schätze mal, man kann mit SetBitmapBits keine Schrift (HFONT) erstellen.<br />
Meine Motivtion ist, daß ich mir eine Wrapper-Klasse für Handles schreiben will, die dann die Aufräumarbeiten (DeleteObject) selbständig vornimmt. Und diese Wrapper-Klasse will ich als Template-Klasse schreiben (Beispiel: Handle&lt;HBITMAP&gt;). Tja, und nun wollte ich gerne einen =-Operator definieren, der Objekte vom eigenen Datentyp übernimmt und dabei nicht einfach nur das Handle kopiert, sondern gleich eine richtige Kopie des Grafikobjekts anlegt. Wenn es da keine einheitliche Funktion gibt, muß ich nämlich für jedes einzelne Handle eine Klasse ableiten (class Bitmap: public Handle&lt;HBITMAP&gt;) und die Funktion entsprechend implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268385</guid><dc:creator><![CDATA[NES-Spieler]]></dc:creator><pubDate>Wed, 18 Apr 2007 12:12:01 GMT</pubDate></item><item><title><![CDATA[Reply to Handleobjekte kopieren on Wed, 18 Apr 2007 13:07:02 GMT]]></title><description><![CDATA[<p>Dafür gibt es keine Funktion. Musst Du Dir selbst basteln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268445</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 18 Apr 2007 13:07:02 GMT</pubDate></item><item><title><![CDATA[Reply to Handleobjekte kopieren on Wed, 18 Apr 2007 14:15:19 GMT]]></title><description><![CDATA[<p>Zumindest für Bilder gibt es eine WinAPi Funktion:</p>
<pre><code class="language-cpp">HANDLE CopyImage( HANDLE hImage, UINT uType, int cxDesired, int cyDesired, UINT fuFlags);
</code></pre>
<p>kopieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1268518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1268518</guid><dc:creator><![CDATA[Die_Gute_Fee]]></dc:creator><pubDate>Wed, 18 Apr 2007 14:15:19 GMT</pubDate></item></channel></rss>