<?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[GWL_USERDATA bei Dialogen?]]></title><description><![CDATA[<p>Hi<br />
Ich schreib grade ne Klasse zum initialisiern von DX und wollte die einstellungen die ich dafür brauche wollte ich aus nem Dialog holen den ich in ner methode erstelle. Wenns keine Dialog wär sondern nen normales Wnd könnte ich doch mit</p>
<pre><code class="language-cpp">SetWindowLongPtr(m_hInitDlg, GWL_USERDATA, reinterpret_cast&lt;LONG_PTR&gt;(this));
</code></pre>
<p>und dann in der DlgProc:</p>
<pre><code class="language-cpp">CMeineKlasse* pThis = reinterpret_cast&lt;CMeineKlasse*&gt;(GetWindowLongPtr(hWndDlg, GWL_USERDATA));
</code></pre>
<p>arbeiten so dass ich danach mit pThis-&gt; auf private elemente zugreifen kann.<br />
Aber der pointer ist nach diesem aufruf immer noch 0!?</p>
<p>den Dialog erstell ich mit</p>
<pre><code class="language-cpp">if(!(m_hInitDlg = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_D3DINFORMATION), NULL, m_InitDlgProc)))
		return false;
</code></pre>
<p>und m_InitDlgProc ist als friend funktion deklariert. ich weiß nicht recht was ich da noch machen kann?</p>
<p>Hoffe ihr könnt mir helfen!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176126/gwl_userdata-bei-dialogen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 14:28:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176126.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Mar 2007 22:11:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GWL_USERDATA bei Dialogen? on Sat, 17 Mar 2007 22:11:12 GMT]]></title><description><![CDATA[<p>Hi<br />
Ich schreib grade ne Klasse zum initialisiern von DX und wollte die einstellungen die ich dafür brauche wollte ich aus nem Dialog holen den ich in ner methode erstelle. Wenns keine Dialog wär sondern nen normales Wnd könnte ich doch mit</p>
<pre><code class="language-cpp">SetWindowLongPtr(m_hInitDlg, GWL_USERDATA, reinterpret_cast&lt;LONG_PTR&gt;(this));
</code></pre>
<p>und dann in der DlgProc:</p>
<pre><code class="language-cpp">CMeineKlasse* pThis = reinterpret_cast&lt;CMeineKlasse*&gt;(GetWindowLongPtr(hWndDlg, GWL_USERDATA));
</code></pre>
<p>arbeiten so dass ich danach mit pThis-&gt; auf private elemente zugreifen kann.<br />
Aber der pointer ist nach diesem aufruf immer noch 0!?</p>
<p>den Dialog erstell ich mit</p>
<pre><code class="language-cpp">if(!(m_hInitDlg = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_D3DINFORMATION), NULL, m_InitDlgProc)))
		return false;
</code></pre>
<p>und m_InitDlgProc ist als friend funktion deklariert. ich weiß nicht recht was ich da noch machen kann?</p>
<p>Hoffe ihr könnt mir helfen!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247514</guid><dc:creator><![CDATA[Yahiko]]></dc:creator><pubDate>Sat, 17 Mar 2007 22:11:12 GMT</pubDate></item><item><title><![CDATA[Reply to GWL_USERDATA bei Dialogen? on Sun, 18 Mar 2007 19:59:50 GMT]]></title><description><![CDATA[<p>*push* ;_;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247982</guid><dc:creator><![CDATA[Yahiko]]></dc:creator><pubDate>Sun, 18 Mar 2007 19:59:50 GMT</pubDate></item><item><title><![CDATA[Reply to GWL_USERDATA bei Dialogen? on Sun, 18 Mar 2007 21:08:09 GMT]]></title><description><![CDATA[<p>Yahiko schrieb:</p>
<blockquote>
<p>Aber der pointer ist nach diesem aufruf immer noch 0!?</p>
</blockquote>
<p>Bevor der Aufruf von CreateDialog () zurückkehrt, ruft das Betriebssystem 2,3,4 mal die &quot;DlgProc&quot; auf (mit WM_CREATE, WM_INITDIALOG, ...). Solange ist der Pointer ungültig.<br />
Erst wenn CreateDialog () zurückkehrt und SetWindowLongPtr () erfolgreich aufgerufen wurde ist der Pointer gültig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248009</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 18 Mar 2007 21:08:09 GMT</pubDate></item><item><title><![CDATA[Reply to GWL_USERDATA bei Dialogen? on Mon, 19 Mar 2007 07:40:41 GMT]]></title><description><![CDATA[<p>Man kann dafür CreateDialogParam verwenden. Dann bekommt man in WM_INITDIALOG brav den entsprechenden Zeiger gelifert und kann in per SetWindowLong setzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248127</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 19 Mar 2007 07:40:41 GMT</pubDate></item><item><title><![CDATA[Reply to GWL_USERDATA bei Dialogen? on Tue, 20 Mar 2007 15:10:39 GMT]]></title><description><![CDATA[<p>Wow cool danke! <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/1249179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249179</guid><dc:creator><![CDATA[Yahiko]]></dc:creator><pubDate>Tue, 20 Mar 2007 15:10:39 GMT</pubDate></item></channel></rss>