<?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[komisches Subclassing-prob]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich will gerade einen Dialog subclassen. Die eigene Wndproc soll nur WM_CTLCOLORBTN abfangen.</p>
<pre><code class="language-cpp">WNDPROC oldWndProc = NULL;
	oldWndProc = (WNDPROC)SetWindowLong(wnd, GWL_WNDPROC, (long)SubClassProc);

///// SubclassProc:
	switch(msg)
	{
	case WM_CTLCOLORBTN:
		if(w.type == WT_CHKBOX)
		{
			SetBkMode((HDC)wParam, TRANSPARENT);
			return 1;
		}
		else
			return 0;
		break;
	default:
		return CallWindowProc(oldWindowProc, wnd, msg, wParam, lParam);	
		break;
	}
	return CallWindowProc(owp, wnd, msg, wParam, lParam);
</code></pre>
<p>Wenn ich das so mache, dann hat der Dialog aber keinen Hintergrund mehr, aber man kann auch nciht durchklicken. Außerdem sehen die Buttons nur noch grau aus, ohne Struktur o.ä.</p>
<p>Könnt ihr mir helfen?</p>
<p>edit: [cpp] sieht schöner aus als [code]. <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/topic/81741/komisches-subclassing-prob</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 14:22:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/81741.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Aug 2004 16:04:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to komisches Subclassing-prob on Tue, 03 Aug 2004 17:03:41 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich will gerade einen Dialog subclassen. Die eigene Wndproc soll nur WM_CTLCOLORBTN abfangen.</p>
<pre><code class="language-cpp">WNDPROC oldWndProc = NULL;
	oldWndProc = (WNDPROC)SetWindowLong(wnd, GWL_WNDPROC, (long)SubClassProc);

///// SubclassProc:
	switch(msg)
	{
	case WM_CTLCOLORBTN:
		if(w.type == WT_CHKBOX)
		{
			SetBkMode((HDC)wParam, TRANSPARENT);
			return 1;
		}
		else
			return 0;
		break;
	default:
		return CallWindowProc(oldWindowProc, wnd, msg, wParam, lParam);	
		break;
	}
	return CallWindowProc(owp, wnd, msg, wParam, lParam);
</code></pre>
<p>Wenn ich das so mache, dann hat der Dialog aber keinen Hintergrund mehr, aber man kann auch nciht durchklicken. Außerdem sehen die Buttons nur noch grau aus, ohne Struktur o.ä.</p>
<p>Könnt ihr mir helfen?</p>
<p>edit: [cpp] sieht schöner aus als [code]. <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/574479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/574479</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Tue, 03 Aug 2004 17:03:41 GMT</pubDate></item><item><title><![CDATA[Reply to komisches Subclassing-prob on Tue, 03 Aug 2004 19:48:33 GMT]]></title><description><![CDATA[<p>MSDN schrieb:</p>
<blockquote>
<p>WM_CTLCOLORBTN...If an application processes this message, it must return a handle to a brush. The system uses the brush to paint the background of the button.</p>
</blockquote>
<p>um dem dialog wieder hintergrund zu verschaffen versuch mal eine WM_PAINT an die alte WndProc zu schicken...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/574632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/574632</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 03 Aug 2004 19:48:33 GMT</pubDate></item><item><title><![CDATA[Reply to komisches Subclassing-prob on Tue, 03 Aug 2004 20:48:54 GMT]]></title><description><![CDATA[<p>WM_PAINT soll man nie direkt schicken - wohl eher InvalidateRect oder ähnliches <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>
]]></description><link>https://www.c-plusplus.net/forum/post/574675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/574675</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 03 Aug 2004 20:48:54 GMT</pubDate></item><item><title><![CDATA[Reply to komisches Subclassing-prob on Tue, 03 Aug 2004 23:43:02 GMT]]></title><description><![CDATA[<p>ich weis, InvalidateRect() ist wohl angebracheter <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/574751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/574751</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 03 Aug 2004 23:43:02 GMT</pubDate></item><item><title><![CDATA[Reply to komisches Subclassing-prob on Wed, 04 Aug 2004 09:10:52 GMT]]></title><description><![CDATA[<p>Auch mit InvalidateRect geht es nicht</p>
<p>Selbst, wenn ich in der SubclassProc alle Nachrichten an die richtige weiterleite, sieht man das Dialogfeld nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/574910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/574910</guid><dc:creator><![CDATA[Maxi2]]></dc:creator><pubDate>Wed, 04 Aug 2004 09:10:52 GMT</pubDate></item></channel></rss>