<?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[Sollte ich hier besser new &#x2F; delete verwenden?]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>ich wollte mich mal schnell erkundigen wie ich eine Codezeile in meinem Projekt besser gestalten sollte. Ich habe eine Klasse, die einen RGB-Wert als Eigenschaft hat und in einer Methode soll dieser Wert als Hintergrund dienen. So wird also hier immer wieder eine Variale HBRUSH benötigt, sollte ich die da am Anfang der Methode mit new im Speicher bereitstellen und am Ende wieder mit delete freogeben oder reicht es hier vollkommen aus die Makros, also DeleteObject(), zu benutzen?</p>
<p>Genau das gleiche frage ich mich aber auch bei einer Schrift, die je nach Größe des Fensters immer wieder neu erstellt werden muss, sprich größer oder kleiner.</p>
<p>Wie sollte ich das am besten lösen?</p>
<p>Gruß Tobi.</p>
<p>[EDIT] Verdammt merk gerade, flasches Forum... BITTE MAL INS SUBFORUM &quot;Rund um die Programmierung&quot; VERSCHIEBEN, DANKE!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200983/sollte-ich-hier-besser-new-delete-verwenden</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 08:30:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200983.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 22 Dec 2007 15:49:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sat, 22 Dec 2007 15:50:37 GMT]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>ich wollte mich mal schnell erkundigen wie ich eine Codezeile in meinem Projekt besser gestalten sollte. Ich habe eine Klasse, die einen RGB-Wert als Eigenschaft hat und in einer Methode soll dieser Wert als Hintergrund dienen. So wird also hier immer wieder eine Variale HBRUSH benötigt, sollte ich die da am Anfang der Methode mit new im Speicher bereitstellen und am Ende wieder mit delete freogeben oder reicht es hier vollkommen aus die Makros, also DeleteObject(), zu benutzen?</p>
<p>Genau das gleiche frage ich mich aber auch bei einer Schrift, die je nach Größe des Fensters immer wieder neu erstellt werden muss, sprich größer oder kleiner.</p>
<p>Wie sollte ich das am besten lösen?</p>
<p>Gruß Tobi.</p>
<p>[EDIT] Verdammt merk gerade, flasches Forum... BITTE MAL INS SUBFORUM &quot;Rund um die Programmierung&quot; VERSCHIEBEN, DANKE!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424851</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sat, 22 Dec 2007 15:50:37 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sat, 22 Dec 2007 16:50:58 GMT]]></title><description><![CDATA[<p>DeleteObject ist afaik kein Makro.<br />
Es kann sinnvoll sein, innerhalb eines Frameworks Objekte nicht per delete zu löschen, bzw. dies mit Methoden zu kapseln.<br />
Und bei einem Font wird ja nur die Eigenschaft geändert, wenn sich die Größe ändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424869</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Sat, 22 Dec 2007 16:50:58 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sat, 22 Dec 2007 18:04:04 GMT]]></title><description><![CDATA[<p>Ich blicke nich ganz durch <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=";D"
      alt="😉"
    /><br />
Was hat nen HBRUSH (ein Handle) mit Speicher-bereitstellen zu tun?<br />
Um den Speicher der Objekte die mit dem Handle verbundenen sind kümmert sich doch Windows selbst?</p>
<p>Worum man sich kümmern muss ist das die Handles auch wieder geschlossen werden GDI-Objekte mit DeleteObject() - sofern nicht mit SelectObject() in ein DC selektiert. Die meisten sonstigen Handles mit CloseHandle()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424895</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sat, 22 Dec 2007 18:04:04 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sat, 22 Dec 2007 18:32:21 GMT]]></title><description><![CDATA[<p>Zeige mal deine Klasse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424911</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Sat, 22 Dec 2007 18:32:21 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sat, 22 Dec 2007 18:48:27 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-1819.html" rel="nofollow">rüdiger</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-12.html" rel="nofollow">Neuigkeiten aus der realen Welt</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-4.html" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424919</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Sat, 22 Dec 2007 18:48:27 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sun, 23 Dec 2007 12:39:09 GMT]]></title><description><![CDATA[<p>Also hier die Klasse:</p>
<pre><code class="language-cpp">class CPanel {

    private:

        HWND m_hDescWnd;
        RECT m_DescRect;
        RECT m_PanelRect;

        float m_LastxPos;
        float m_LastyPos;
        float m_LastWidth;
        float m_LastHeigth;

        COLORREF m_PanelBG;

    public:

        CPanel( );
        CPanel( HWND hDescWnd );
        CPanel( HWND hDescWnd, int xPos, int yPos, int width, int heigth );

        ~CPanel( );

        void m_SetDescWindow( HWND hDesc );
        void m_SetPanelSize( int xPos, int yPos, int width, int heigth );
        void m_SetPanelBG( COLORREF cPanelBrush );
        void m_UpdatePanel( bool bHidde );
};
</code></pre>
<p>Hier die Definition der Methode:</p>
<pre><code class="language-cpp">void CPanel::m_SetPanelBG( COLORREF cPanelBrush ) {

    if( cPanelBrush == 0 ) {

        this-&gt;m_PanelBG = RGB( 255, 255, 255 );
    }
    else {

        this-&gt;m_PanelBG = cPanelBrush;
    }
}

void CPanel::m_UpdatePanel( bool bHidde ) {

    // ***** Determine whether the panel is hidden *****
    if( bHidde ) {

        SetRect( &amp;this-&gt;m_PanelRect, -1, -1, 0, 0 );
        return;
    }

    HBRUSH hBackground = 0;

    // ***** Update panel *****
    GetClientRect( this-&gt;m_hDescWnd, &amp;this-&gt;m_DescRect );

    SetRect( &amp;this-&gt;m_PanelRect,
             ( this-&gt;m_DescRect.right * ( this-&gt;m_LastxPos / 100 ) ),
             ( this-&gt;m_DescRect.bottom * ( this-&gt;m_LastyPos / 100 ) ),
             ( this-&gt;m_DescRect.right * ( this-&gt;m_LastWidth / 100 ) ),
             ( this-&gt;m_DescRect.bottom * ( this-&gt;m_LastHeigth / 100 ) ) );

    HDC hDC = GetDC( this-&gt;m_hDescWnd );

    hBackground = CreateSolidBrush( this-&gt;m_PanelBG );

    ::FillRect( hDC, &amp;this-&gt;m_PanelRect, hBackground );

    ReleaseDC( this-&gt;m_hDescWnd, hDC );

    DeleteObject( hBackground );
}
</code></pre>
<p>Hmm.. is das trotzdem richtig mit dem DeleteObject(), auch wenn ich des Handle nicht selektiert habe?</p>
<p>Gruß Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425139</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sun, 23 Dec 2007 12:39:09 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sun, 23 Dec 2007 16:35:30 GMT]]></title><description><![CDATA[<p>*push*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425247</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sun, 23 Dec 2007 16:35:30 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sun, 23 Dec 2007 18:29:21 GMT]]></title><description><![CDATA[<p>gerade dann ist es richtig:</p>
<p>msdn schrieb:</p>
<blockquote>
<p>Do not delete a drawing object (pen or brush) while it is still selected into a DC.</p>
</blockquote>
<p>Also völlig richtig so wie du es da hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425314</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sun, 23 Dec 2007 18:29:21 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sun, 23 Dec 2007 20:35:17 GMT]]></title><description><![CDATA[<p>Noch eine Frage: Ich habe die m_UpdatePanel in die WM_PAINT gepackt, duch da ist ja auch schon HDC hDC = BeginPaint( ) ...<br />
Ist des schlimm oder egal?</p>
<p>Gruß Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425362</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sun, 23 Dec 2007 20:35:17 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sun, 23 Dec 2007 21:27:09 GMT]]></title><description><![CDATA[<p>sofern das passende EndPaint() dabei ist <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=";D"
      alt="😉"
    /></p>
<p>Macht nichts aus innerhalb BeginPaint() und EndPaint() noch mit GetDC() zu arbeiten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425385</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sun, 23 Dec 2007 21:27:09 GMT</pubDate></item><item><title><![CDATA[Reply to Sollte ich hier besser new &#x2F; delete verwenden? on Sun, 23 Dec 2007 21:57:48 GMT]]></title><description><![CDATA[<p>allet klar, danke dann erst mal.</p>
<p>Gruß Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425404</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sun, 23 Dec 2007 21:57:48 GMT</pubDate></item></channel></rss>