<?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[Anfängerfrage... Child-Fenster über ihr handle ansprechen??]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab mit der Windows API noch so meine Schwierigkeiten.<br />
Wenn ich beispielsweise ein Hauptfenster und ein Childfenster habe und<br />
in dem Hauptfenster noch ein einfaches Button setze, dann hat Jedes Fenster<br />
und auch das Button seinen eigenen handle.</p>
<p>Soweit Klar...</p>
<p>Dann hab ich zwei Messageloops , eine für das Haupt und die andere für das<br />
Childfenster.</p>
<p>Auch noch logisch...</p>
<p>Ich frage das Button über WM_COMMAND und lparam , wparam ab, und möchte nun das<br />
sich das Childfenster wenn das Button gedrückt wurde in seiner größe ändert.<br />
Wenn ich aus der Messageloop des Hauptfensters aber mit SetWindowPos die größe<br />
mit dem handle des Childfensters verändern will meckert mir der Compiler weil der<br />
handle des Childfensters in einem anderen gültigkeitsbereich liegt.<br />
Wenn ich den handle des Childfensters gleich global deklariere dann<br />
kann ich zwar alles ohne Fehler compieren aber die größe des Fensters ändert sich auch nicht.</p>
<p>doof...</p>
<p>Kann man für beide Fenster nur eine Messageloop benutzen?<br />
Oder lassen sich Fenster (und Fensterobjekte) mit ihrem handle irgenwie von überall her ansprechen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/115365/anfängerfrage-child-fenster-über-ihr-handle-ansprechen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 16:32:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/115365.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Jul 2005 17:41:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 17:41:32 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab mit der Windows API noch so meine Schwierigkeiten.<br />
Wenn ich beispielsweise ein Hauptfenster und ein Childfenster habe und<br />
in dem Hauptfenster noch ein einfaches Button setze, dann hat Jedes Fenster<br />
und auch das Button seinen eigenen handle.</p>
<p>Soweit Klar...</p>
<p>Dann hab ich zwei Messageloops , eine für das Haupt und die andere für das<br />
Childfenster.</p>
<p>Auch noch logisch...</p>
<p>Ich frage das Button über WM_COMMAND und lparam , wparam ab, und möchte nun das<br />
sich das Childfenster wenn das Button gedrückt wurde in seiner größe ändert.<br />
Wenn ich aus der Messageloop des Hauptfensters aber mit SetWindowPos die größe<br />
mit dem handle des Childfensters verändern will meckert mir der Compiler weil der<br />
handle des Childfensters in einem anderen gültigkeitsbereich liegt.<br />
Wenn ich den handle des Childfensters gleich global deklariere dann<br />
kann ich zwar alles ohne Fehler compieren aber die größe des Fensters ändert sich auch nicht.</p>
<p>doof...</p>
<p>Kann man für beide Fenster nur eine Messageloop benutzen?<br />
Oder lassen sich Fenster (und Fensterobjekte) mit ihrem handle irgenwie von überall her ansprechen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/830529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830529</guid><dc:creator><![CDATA[_BackBONE_]]></dc:creator><pubDate>Wed, 13 Jul 2005 17:41:32 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 18:29:24 GMT]]></title><description><![CDATA[<p>Wenn das Handle gloabl ist, dann sollte es schon funktionieren (wenn dein SetWindowPos-Aufruf korrekt ist). Wenn du das Handle des Parent hast kannst du dir aber auch mit GetDlgItem und der ID des Childs das Hanlde besorgen <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/830591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830591</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Wed, 13 Jul 2005 18:29:24 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 18:45:20 GMT]]></title><description><![CDATA[<p>OK,</p>
<p>hab mir das ganze noch mal angeschaut.<br />
Hatte einen Tippfehler im code.</p>
<p>aber empfiehlt es sich überhaupt die handles global zu machen??</p>
<p>Bei Klassen ist es doch auch so daß man globale Variablen vermeiden sollte .. oder??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/830605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830605</guid><dc:creator><![CDATA[_BackBONE_]]></dc:creator><pubDate>Wed, 13 Jul 2005 18:45:20 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 18:48:10 GMT]]></title><description><![CDATA[<p>die möglickeiten die du hast sind reichlich. da globale vars imho schlecht sind, könntest du vielleicht so was machen (wie flenders schon angedeutet hat <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> )</p>
<pre><code class="language-cpp">// wndproc des hauptfensters
static HWND hwndChild;
//..
WM_CREATE:
    hwndChild = CreateWindow(...);
WM_COMMAND:
    // im btn click
    SetWindowPos(GetDlgItem(hwndChild, ID_BUTTON), ....);
</code></pre>
<p><em>BackBONE</em> schrieb:</p>
<blockquote>
<p>Kann man für beide Fenster nur eine Messageloop benutzen?</p>
</blockquote>
<p>du könntest zb: die nachricht an das parent schicken</p>
<pre><code class="language-cpp">case WM_COMMAND:
	SendMessage(GetParent(hwnd), msg, wParam, lParam);
</code></pre>
<p><em>BackBONE</em> schrieb:</p>
<blockquote>
<p>Oder lassen sich Fenster (und Fensterobjekte) mit ihrem handle irgenwie von überall her ansprechen?</p>
</blockquote>
<p>jep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/830606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830606</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Wed, 13 Jul 2005 18:48:10 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 18:51:51 GMT]]></title><description><![CDATA[<p><em>BackBONE</em> schrieb:</p>
<blockquote>
<p>aber empfiehlt es sich überhaupt die handles global zu machen??</p>
</blockquote>
<p>war zu langsam mit meinem vorherigen post. generell sind globale vars schlecht.<br />
bsp:<br />
<a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=Global#Answ" rel="nofollow">http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=Global#Answ</a><br />
bezieht sich zwar auf c++ macht aber keinen unterschied</p>
]]></description><link>https://www.c-plusplus.net/forum/post/830613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830613</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Wed, 13 Jul 2005 18:51:51 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 19:32:29 GMT]]></title><description><![CDATA[<p>In meinem Programm hab ich das Child Fenster und das Button außerhalb der<br />
Messageloop vom Hauptfenster erstellt.</p>
<p>Wenn ich versuche die Child-Objecte nach der Message WM_CREATE im Loop des Hauptfensters zu erstellen funzt das handle der Instanz nicht mehr.</p>
<p>Muß ich jetzt den handle der Instanz doch global machen ,oder komm ich da irgendwie drumrum?</p>
<p>Wenn ich das mache dann funktioniert SetWindowPos wieder 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="😞"
    /><br />
obwhol der handle des Child Fensters doch im MessageLoop des Hauptfensters &quot;sichtbar&quot; sein müßte.</p>
<p>wirklich verwirrend <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/830649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830649</guid><dc:creator><![CDATA[_BackBONE_]]></dc:creator><pubDate>Wed, 13 Jul 2005 19:32:29 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 19:40:53 GMT]]></title><description><![CDATA[<p><em>BackBONE</em> schrieb:</p>
<blockquote>
<p>Muß ich jetzt den handle der Instanz doch global machen ,oder komm ich da irgendwie drumrum?</p>
</blockquote>
<p>nein musst du nicht. als lparam bei wm_create wird ein pointer auf createsruct übergeben<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowmessages/wm_create.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowmessages/wm_create.asp</a></p>
<p>bsp:</p>
<pre><code class="language-cpp">if(!(hwndChild = CreateWindow(
  // ...
  ((LPCREATESTRUCT)lParam)-&gt;hInstance,
   NULL)))
{
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/830659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830659</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Wed, 13 Jul 2005 19:40:53 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 19:41:34 GMT]]></title><description><![CDATA[<p>mache den Handle des ChildWindows innerhalb der Callback-Routine statisch. D.h.:</p>
<p>static HWND hWndChild;</p>
<p>so brauchst Du keine globale Variable und das Handle ist immer verfügbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/830660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830660</guid><dc:creator><![CDATA[RalphS]]></dc:creator><pubDate>Wed, 13 Jul 2005 19:41:34 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 19:50:32 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> DANKE! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>mit static gehts.</p>
<p>Das mit dem Pointer is noch n bischen zu fortgeschritten für mich.<br />
Ich weiß zwar grob gesehen was ein Pointer ist, aber nicht genau wie man<br />
ihn (den Pointer) sinnvoll in der Praxis einsetzt.</p>
<p>Ich werd mich erstmal darauf beschränken einfache Win32 Apps zu schreiben die<br />
keine wirklich sinnvollen sachen machen ... so der Übung halber.</p>
<p>Phu... ich hab daß gefühl bis zum guten C++ Windows Programmierer ist es noch ein langer und steiniger Weg.... <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/830670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830670</guid><dc:creator><![CDATA[_BackBONE_]]></dc:creator><pubDate>Wed, 13 Jul 2005 19:50:32 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage... Child-Fenster über ihr handle ansprechen?? on Wed, 13 Jul 2005 19:52:29 GMT]]></title><description><![CDATA[<p><em>BackBONE</em> schrieb:</p>
<blockquote>
<p>Phu... ich hab daß gefühl bis zum guten C++ Windows Programmierer ist es noch ein langer und steiniger Weg.... <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>
</blockquote>
<p>das gefühl habe ich auch des öfteren <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/830676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/830676</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Wed, 13 Jul 2005 19:52:29 GMT</pubDate></item></channel></rss>