<?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[Ich weiß nicht weiter mit Subclassing]]></title><description><![CDATA[<p>Hallo ich habe folgendes Problem:<br />
Ich habe mehrere Buttons in einem Fenster und jeder soll dieselbe Callback- Funktion nutzen.</p>
<pre><code class="language-cpp">LONG_PTR Prev_Proc;

Prev_Proc=SetWindowLongPtr(GetDlgItem(hWnd,IDC_BUTTONADD),GWLP_WNDPROC,(LONG)ButtonWndProc);

LRESULT CALLBACK ButtonWndProc(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam)
{
	switch(Message)
	{
	case WM_LBUTTONDBLCLK:
		{
			break;
		}
	case WM_MOUSEMOVE:
		{
			break;
		}
		break;
	}

	return CallWindowProc((WNDPROC)Prev_Proc,hWnd,Message,wParam,lParam);
}
</code></pre>
<p>Ich kann ja nicht schreiben:</p>
<pre><code class="language-cpp">Prev_Proc=SetWindowLongPtr(GetDlgItem(hWnd,IDC_BUTTONADD),GWLP_WNDPROC,(LONG)ButtonWndProc);
Prev_Proc=SetWindowLongPtr(GetDlgItem(hWnd,IDC_BUTTONDEL),GWLP_WNDPROC,(LONG)ButtonWndProc);
Prev_Proc=SetWindowLongPtr(GetDlgItem(hWnd,IDC_BUTTONSEARCH),GWLP_WNDPROC,(LONG)ButtonWndProc);
...
</code></pre>
<p>Und mehrere male eine Callback- Funktion für jeden Button frisst ja ne Menge speicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/105624/ich-weiß-nicht-weiter-mit-subclassing</link><generator>RSS for Node</generator><lastBuildDate>Tue, 16 Jun 2026 12:53:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/105624.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 01 Apr 2005 10:50:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ich weiß nicht weiter mit Subclassing on Fri, 01 Apr 2005 10:50:00 GMT]]></title><description><![CDATA[<p>Hallo ich habe folgendes Problem:<br />
Ich habe mehrere Buttons in einem Fenster und jeder soll dieselbe Callback- Funktion nutzen.</p>
<pre><code class="language-cpp">LONG_PTR Prev_Proc;

Prev_Proc=SetWindowLongPtr(GetDlgItem(hWnd,IDC_BUTTONADD),GWLP_WNDPROC,(LONG)ButtonWndProc);

LRESULT CALLBACK ButtonWndProc(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam)
{
	switch(Message)
	{
	case WM_LBUTTONDBLCLK:
		{
			break;
		}
	case WM_MOUSEMOVE:
		{
			break;
		}
		break;
	}

	return CallWindowProc((WNDPROC)Prev_Proc,hWnd,Message,wParam,lParam);
}
</code></pre>
<p>Ich kann ja nicht schreiben:</p>
<pre><code class="language-cpp">Prev_Proc=SetWindowLongPtr(GetDlgItem(hWnd,IDC_BUTTONADD),GWLP_WNDPROC,(LONG)ButtonWndProc);
Prev_Proc=SetWindowLongPtr(GetDlgItem(hWnd,IDC_BUTTONDEL),GWLP_WNDPROC,(LONG)ButtonWndProc);
Prev_Proc=SetWindowLongPtr(GetDlgItem(hWnd,IDC_BUTTONSEARCH),GWLP_WNDPROC,(LONG)ButtonWndProc);
...
</code></pre>
<p>Und mehrere male eine Callback- Funktion für jeden Button frisst ja ne Menge speicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757253</guid><dc:creator><![CDATA[cppguy]]></dc:creator><pubDate>Fri, 01 Apr 2005 10:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to Ich weiß nicht weiter mit Subclassing on Fri, 01 Apr 2005 12:55:23 GMT]]></title><description><![CDATA[<p>Vielleicht ist Superclassing eher was für dich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/757444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757444</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Fri, 01 Apr 2005 12:55:23 GMT</pubDate></item><item><title><![CDATA[Reply to Ich weiß nicht weiter mit Subclassing on Fri, 01 Apr 2005 12:57:25 GMT]]></title><description><![CDATA[<p>ich würd SetProp benutzen.</p>
<blockquote>
<p>Und mehrere male eine Callback- Funktion für jeden Button frisst ja ne Menge speicher.</p>
</blockquote>
<p>oh ja, unheimlich viel. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/757447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/757447</guid><dc:creator><![CDATA[GetProp]]></dc:creator><pubDate>Fri, 01 Apr 2005 12:57:25 GMT</pubDate></item></channel></rss>