<?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[in der nähe von setwindowlong passt was nicht]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich versuch mich gerade im kapseln und möchte einem button seine eigene callback geben.<br />
nur wird er nach setwindowlong erst garnicht angezeigt, obwohl die msg's eigentlich weitergeleitet werden müssten..</p>
<p>woran liegt das?</p>
<pre><code class="language-cpp">class Btn : public controls
{
	public:
		Btn(){};
		virtual ~Btn(){};
		void	set_handle(HWND hwnd){m_hwnd = hwnd;};
		HWND	get_handle(){return m_hwnd;};
		void	set_Callback(LONG Callback){wndProc_orig=SetWindowLong(m_hwnd, GWL_WNDPROC, Callback);};
		LONG	get_wndproc_orig()	{return wndProc_orig;};
	private:
		HWND	m_hwnd;
		LONG	wndProc_orig;
};

HWND h_Dlg_FM;
h_Dlg_FM = CreateDialog(hInst, (LPCTSTR)IDD_FM, hWnd, (DLGPROC)FM);

LRESULT CALLBACK FM(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
	switch( message )
	{
		case WM_INITDIALOG:
			{
				h_btn_Ok	= GetDlgItem(hDlg, IDC_BTN_OK);

				btn_Ok.set_handle(h_btn_Ok);
				btn_Ok.set_Callback((LONG)FM_BTN_OK);
			}
			return TRUE;
	}
    return FALSE;
}

LRESULT CALLBACK FM_BTN_OK( HWND hControl, UINT message, WPARAM wParam, LPARAM lParam )
{
	CallWindowProc((WNDPROC)btn_Ok.get_wndproc_orig(), h_Dlg_FM, message, wParam, lParam); 

    return FALSE;
}
</code></pre>
<p>danke für eure hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/70612/in-der-nähe-von-setwindowlong-passt-was-nicht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 13:15:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/70612.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Apr 2004 13:10:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Fri, 09 Apr 2004 13:10:29 GMT]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich versuch mich gerade im kapseln und möchte einem button seine eigene callback geben.<br />
nur wird er nach setwindowlong erst garnicht angezeigt, obwohl die msg's eigentlich weitergeleitet werden müssten..</p>
<p>woran liegt das?</p>
<pre><code class="language-cpp">class Btn : public controls
{
	public:
		Btn(){};
		virtual ~Btn(){};
		void	set_handle(HWND hwnd){m_hwnd = hwnd;};
		HWND	get_handle(){return m_hwnd;};
		void	set_Callback(LONG Callback){wndProc_orig=SetWindowLong(m_hwnd, GWL_WNDPROC, Callback);};
		LONG	get_wndproc_orig()	{return wndProc_orig;};
	private:
		HWND	m_hwnd;
		LONG	wndProc_orig;
};

HWND h_Dlg_FM;
h_Dlg_FM = CreateDialog(hInst, (LPCTSTR)IDD_FM, hWnd, (DLGPROC)FM);

LRESULT CALLBACK FM(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
	switch( message )
	{
		case WM_INITDIALOG:
			{
				h_btn_Ok	= GetDlgItem(hDlg, IDC_BTN_OK);

				btn_Ok.set_handle(h_btn_Ok);
				btn_Ok.set_Callback((LONG)FM_BTN_OK);
			}
			return TRUE;
	}
    return FALSE;
}

LRESULT CALLBACK FM_BTN_OK( HWND hControl, UINT message, WPARAM wParam, LPARAM lParam )
{
	CallWindowProc((WNDPROC)btn_Ok.get_wndproc_orig(), h_Dlg_FM, message, wParam, lParam); 

    return FALSE;
}
</code></pre>
<p>danke für eure hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/498231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/498231</guid><dc:creator><![CDATA[azmondan]]></dc:creator><pubDate>Fri, 09 Apr 2004 13:10:29 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Fri, 09 Apr 2004 13:31:06 GMT]]></title><description><![CDATA[<p>Musst du dann nicht den Rückgabewert von CallWindowProc() weiter durchreichen ?<br />
Im Moment machste da ja einfach return FALSE...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/498241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/498241</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Fri, 09 Apr 2004 13:31:06 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Fri, 09 Apr 2004 13:38:51 GMT]]></title><description><![CDATA[<p>stimmt, aber das problem besteht leider weiterhin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/498246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/498246</guid><dc:creator><![CDATA[azmondan]]></dc:creator><pubDate>Fri, 09 Apr 2004 13:38:51 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Fri, 09 Apr 2004 20:36:40 GMT]]></title><description><![CDATA[<p>Klappt es denn ohne deine &quot;komische&quot; Klassen-Kapselung? Sind auch alle Variablen gültig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/498496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/498496</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Fri, 09 Apr 2004 20:36:40 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Fri, 09 Apr 2004 21:15:48 GMT]]></title><description><![CDATA[<p>wenn ich setwindowlong bei initdialog in der dlgCallback aufrufe, sagt mit der compiler aufeinmal:</p>
<pre><code>error C2440: '=' : 'long' kann nicht in 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)' konvertiert werden
</code></pre>
<p>was tun, meine ganzen castVersuche schlagen fehl..?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/498504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/498504</guid><dc:creator><![CDATA[azmondan]]></dc:creator><pubDate>Fri, 09 Apr 2004 21:15:48 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Mon, 12 Apr 2004 14:10:52 GMT]]></title><description><![CDATA[<p>ich bekomm es echt nicht hin. och, bitte, kommt schnippt mit dem finger und sagt: zack, da isser der böse fehler, musst nur des und das machen..</p>
<p>fänd ich wunderbar <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/499819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/499819</guid><dc:creator><![CDATA[azmondan]]></dc:creator><pubDate>Mon, 12 Apr 2004 14:10:52 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Mon, 12 Apr 2004 14:49:52 GMT]]></title><description><![CDATA[<p>Warum nimmst du eigentlich set_Callback(LONG Callback) und nicht set_Callback(WNDPROC Callback) ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/499833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/499833</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Mon, 12 Apr 2004 14:49:52 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Mon, 12 Apr 2004 16:17:21 GMT]]></title><description><![CDATA[<p>Du solltest dir mal ein funktionierendes Subclassing-Beispiel suchen und es dann Schritt für Schritt in eine Klasse kapseln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/499903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/499903</guid><dc:creator><![CDATA[Tipp]]></dc:creator><pubDate>Mon, 12 Apr 2004 16:17:21 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Tue, 13 Apr 2004 18:13:14 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/41">@geeky</a> setwindowlong benötigt und liefert mir long, drum dacht ich<br />
mir, dass das casten bei callwindowproc am besten aufgehoben sei..</p>
<p>ich habe jetzt die klassen weggelassen, so dass nur noch das da steht:</p>
<pre><code class="language-cpp">LONG test_wndProc_orig//global
test_wndProc_orig=SetWindowLong(GetDlgItem(hDlg, IDC_BTN_OK), GWL_WNDPROC, (LONG)FM_BTN_OK);
</code></pre>
<p>so soll die aufgerufene callback alles weiterleiten:</p>
<pre><code class="language-cpp">return	CallWindowProc((WNDPROC)test_wndProc_orig, h_Dlg_FM, message, wParam, lParam);
</code></pre>
<p>nur reagiert der button auf nichts mehr.</p>
<p>@tipp ich habe eigentlich ein ganz anderes problem was sich, wenn obiges laufen würde, gut lösen würde</p>
]]></description><link>https://www.c-plusplus.net/forum/post/500767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500767</guid><dc:creator><![CDATA[azmondan]]></dc:creator><pubDate>Tue, 13 Apr 2004 18:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Tue, 13 Apr 2004 18:18:39 GMT]]></title><description><![CDATA[<p>Bau mal vor CallWindowProc() mal OutputDebugString() oder so ein, also prüfen ob in der neuen WindowProc überhaupt was ankommt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/500771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500771</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Tue, 13 Apr 2004 18:18:39 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Tue, 13 Apr 2004 18:30:04 GMT]]></title><description><![CDATA[<p><a href="http://www.winapi.net/index.php?inhalt=s27" rel="nofollow">http://www.winapi.net/index.php?inhalt=s27</a> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/500777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500777</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 13 Apr 2004 18:30:04 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Tue, 13 Apr 2004 19:32:05 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/41">@geeky</a> in die callback geht er rein<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1644">@flenders</a> mein winuser.h kennt kein setwindowlongptr, hab gerade das psdk download angefangen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/500810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500810</guid><dc:creator><![CDATA[azmondan]]></dc:creator><pubDate>Tue, 13 Apr 2004 19:32:05 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Tue, 13 Apr 2004 19:57:23 GMT]]></title><description><![CDATA[<p>Wenn ich das richtig sehe musst du bei CallWindowProc auch wieder das Window-Handle des gesubclassten Buttons einsetzen. Also wenn du deine FM_BTN_OK-Callback nicht geändert hast hControl und nicht h_Dlg_FM <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=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/500826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500826</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 13 Apr 2004 19:57:23 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Tue, 13 Apr 2004 21:06:05 GMT]]></title><description><![CDATA[<p>ohh flenders, sag des doch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>dankschön euch beiden <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/500875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/500875</guid><dc:creator><![CDATA[azmondan]]></dc:creator><pubDate>Tue, 13 Apr 2004 21:06:05 GMT</pubDate></item><item><title><![CDATA[Reply to in der nähe von setwindowlong passt was nicht on Wed, 14 Apr 2004 07:46:09 GMT]]></title><description><![CDATA[<p>Hab's doch auch da erst gesehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/501082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501082</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Wed, 14 Apr 2004 07:46:09 GMT</pubDate></item></channel></rss>