<?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[Dynamisch viele HWND erzeugen]]></title><description><![CDATA[<p>Hi all,<br />
ich bin gerade Dabei eine Möglichkeit paratzustellen (im Grunde) unendlich viele HWNDs zu verwalten.<br />
Erzeugt werden die HWNDs durch den Benutzer, FireFox-Tab like, mithilfe von CreateWindow.<br />
Gespeichert wird dass ganze in einer einfach verketteten Liste:</p>
<pre><code class="language-cpp">typedef struct _openTab{
	HWND wnd;
	char title[256];
	struct _openTab *next;
} *pOpenTab, openTab;
</code></pre>
<p>Somit kann ich per Titel an das HWND kommen und das Fenster bestimmen.<br />
Ich mache das so:</p>
<pre><code class="language-cpp">HWND tmp;
tmp = CreateWindow( &quot;RICHEDIT&quot;, &quot;&quot;, WS_DLGFRAME | ES_AUTOHSCROLL | WS_HSCROLL | ES_NOHIDESEL | WS_CHILD | ES_MULTILINE, 15, 15, 390, 170, myAppWnd, (HMENU)m_wndTab, aktInst, NULL );
if( !GetLastError() )
{
	openTabAdd( tmp, name ); //in Liste eintragen
}
else
{
	printf( &quot;ES IST EIN FEHLER AUFGETRETEN: %d\n&quot;, GetLastError() );
	MessageBox( NULL, &quot;Es ist ein Fehler aufgetreten...\nDas Programm wird sicherheitshalber beendet!&quot;, &quot;Fehlerhinweis:&quot;, MB_ICONHAND );
	PostQuitMessage( GetLastError() );
}
</code></pre>
<p>Bevor jemand fragt: bei lediglich einem Fenster geht alles, wenn ich nun ein zweites aufmachen will, kommt &quot;Es ist ein Fehler...&quot; und GetLastError == 5.<br />
Jetzt versteh ich nicht, wieso ich EIN Fenster öffnen kann, beim ZWEITEN jedoch ein ACCESS DENIED bekomme?</p>
<p>Muss ich was spezielles beachten?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217530/dynamisch-viele-hwnd-erzeugen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 03:18:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217530.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Jul 2008 13:34:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamisch viele HWND erzeugen on Tue, 08 Jul 2008 13:34:53 GMT]]></title><description><![CDATA[<p>Hi all,<br />
ich bin gerade Dabei eine Möglichkeit paratzustellen (im Grunde) unendlich viele HWNDs zu verwalten.<br />
Erzeugt werden die HWNDs durch den Benutzer, FireFox-Tab like, mithilfe von CreateWindow.<br />
Gespeichert wird dass ganze in einer einfach verketteten Liste:</p>
<pre><code class="language-cpp">typedef struct _openTab{
	HWND wnd;
	char title[256];
	struct _openTab *next;
} *pOpenTab, openTab;
</code></pre>
<p>Somit kann ich per Titel an das HWND kommen und das Fenster bestimmen.<br />
Ich mache das so:</p>
<pre><code class="language-cpp">HWND tmp;
tmp = CreateWindow( &quot;RICHEDIT&quot;, &quot;&quot;, WS_DLGFRAME | ES_AUTOHSCROLL | WS_HSCROLL | ES_NOHIDESEL | WS_CHILD | ES_MULTILINE, 15, 15, 390, 170, myAppWnd, (HMENU)m_wndTab, aktInst, NULL );
if( !GetLastError() )
{
	openTabAdd( tmp, name ); //in Liste eintragen
}
else
{
	printf( &quot;ES IST EIN FEHLER AUFGETRETEN: %d\n&quot;, GetLastError() );
	MessageBox( NULL, &quot;Es ist ein Fehler aufgetreten...\nDas Programm wird sicherheitshalber beendet!&quot;, &quot;Fehlerhinweis:&quot;, MB_ICONHAND );
	PostQuitMessage( GetLastError() );
}
</code></pre>
<p>Bevor jemand fragt: bei lediglich einem Fenster geht alles, wenn ich nun ein zweites aufmachen will, kommt &quot;Es ist ein Fehler...&quot; und GetLastError == 5.<br />
Jetzt versteh ich nicht, wieso ich EIN Fenster öffnen kann, beim ZWEITEN jedoch ein ACCESS DENIED bekomme?</p>
<p>Muss ich was spezielles beachten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1543466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1543466</guid><dc:creator><![CDATA[lippoliv]]></dc:creator><pubDate>Tue, 08 Jul 2008 13:34:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch viele HWND erzeugen on Thu, 17 Jul 2008 11:01:57 GMT]]></title><description><![CDATA[<p>Schon ok!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1548750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1548750</guid><dc:creator><![CDATA[lippoliv]]></dc:creator><pubDate>Thu, 17 Jul 2008 11:01:57 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch viele HWND erzeugen on Fri, 18 Jul 2008 12:24:14 GMT]]></title><description><![CDATA[<p>Zeig mal die Funktion openTabAdd()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549365</guid><dc:creator><![CDATA[McLove]]></dc:creator><pubDate>Fri, 18 Jul 2008 12:24:14 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch viele HWND erzeugen on Mon, 21 Jul 2008 05:44:39 GMT]]></title><description><![CDATA[<p>Bin gerade dabei die nicht kommentierten Codeabschnitte, wo openTabAdd auch reinfällt, zu kommentieren, also geht es erstmal nicht.</p>
<p>Wieso willst du die sehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550621</guid><dc:creator><![CDATA[lippoliv]]></dc:creator><pubDate>Mon, 21 Jul 2008 05:44:39 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch viele HWND erzeugen on Mon, 21 Jul 2008 10:50:39 GMT]]></title><description><![CDATA[<pre><code>typedef struct _openTab{
    HWND wnd;
    char title[256];
    struct _openTab *next;
} *pOpenTab, openTab;
</code></pre>
<p>Hast du vielleicht vergessen, für den Zeiger *next genügend Speicher mit malloc() anzufordern ?</p>
<p>Ich nehme an 'name' ist der name und wird in 'char title[256]' gespeichert in der Funktion openTabAdd(), übergibst du den namen dann auch per Value oder Reference ?? Letzteres sollte man nicht tun, wenn man das überhaupt darf (was ich nicht glaube).</p>
<p>Was anderes fällt mir zu dem Code nicht ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550827</guid><dc:creator><![CDATA[McLove]]></dc:creator><pubDate>Mon, 21 Jul 2008 10:50:39 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch viele HWND erzeugen on Mon, 21 Jul 2008 12:30:33 GMT]]></title><description><![CDATA[<p>Ich hatte schon geschrieben &quot;schon ok&quot;... damit meinte ich &quot;geht alles&quot; habe den fehler gefunden, was genau das war weiß ich nicht mehr <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>
<p>Danke trotzdem für diene Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550902</guid><dc:creator><![CDATA[lippoliv]]></dc:creator><pubDate>Mon, 21 Jul 2008 12:30:33 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch viele HWND erzeugen on Mon, 21 Jul 2008 12:34:45 GMT]]></title><description><![CDATA[<p><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="🙂"
    /> Dachte das war ironisch gemeint, weil niemand geholfen hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550905</guid><dc:creator><![CDATA[McLove]]></dc:creator><pubDate>Mon, 21 Jul 2008 12:34:45 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisch viele HWND erzeugen on Mon, 21 Jul 2008 12:38:13 GMT]]></title><description><![CDATA[<p>McLove schrieb:</p>
<blockquote>
<p><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="🙂"
    /> Dachte das war ironisch gemeint, weil niemand geholfen hat.</p>
</blockquote>
<p>Das dneke ich mir im nachhinein auch (das die Formulierung falsch ist) aber wie gesagt: danke trotzdem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1550908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1550908</guid><dc:creator><![CDATA[lippoliv]]></dc:creator><pubDate>Mon, 21 Jul 2008 12:38:13 GMT</pubDate></item></channel></rss>