<?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[Form - Parent - Problem]]></title><description><![CDATA[<p>Hallo Universum!</p>
<p>Folgendes klitzekleines Problem:</p>
<p>Ich erzeuge ein TForm innerhalb einer TForm (kein MDI!) wie folgt:</p>
<pre><code class="language-cpp">Form2 = new TForm(Application);
     Form2-&gt;Parent=this; //NULL für Focus
     Form2-&gt;BorderStyle = bsSizeable;
     Form2-&gt;Left=random(100);
     Form2-&gt;Top=random(100);
     Form2-&gt;Height=300;
     Form2-&gt;Width=300;

     TEdit *Edit = new TEdit(Form2);
     Edit-&gt;Top = 0;
     Edit-&gt;Left = 0;
     Edit-&gt;Parent = Form2;

     Form2-&gt;Show();
</code></pre>
<p>So, wie zu erwarten wird ein kleines Window mit einem TEdit erzeugt. Das Problem ist nun, dass die neue TForm keinen Focus hat und auch das TEdit nicht focusiert/editiert werden kann, solange der Parent gesetzt ist. Ist Parent == NULL funktioniert alles, bloß dass das Fenster dann halt nicht mehr nur innerhalb des Main-Windows verschiebbar ist.</p>
<p>Hat jemand eine Erklärung/Lösung parat, warum das so ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/93375/form-parent-problem</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 14:30:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/93375.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Nov 2004 08:13:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Form - Parent - Problem on Mon, 29 Nov 2004 08:14:17 GMT]]></title><description><![CDATA[<p>Hallo Universum!</p>
<p>Folgendes klitzekleines Problem:</p>
<p>Ich erzeuge ein TForm innerhalb einer TForm (kein MDI!) wie folgt:</p>
<pre><code class="language-cpp">Form2 = new TForm(Application);
     Form2-&gt;Parent=this; //NULL für Focus
     Form2-&gt;BorderStyle = bsSizeable;
     Form2-&gt;Left=random(100);
     Form2-&gt;Top=random(100);
     Form2-&gt;Height=300;
     Form2-&gt;Width=300;

     TEdit *Edit = new TEdit(Form2);
     Edit-&gt;Top = 0;
     Edit-&gt;Left = 0;
     Edit-&gt;Parent = Form2;

     Form2-&gt;Show();
</code></pre>
<p>So, wie zu erwarten wird ein kleines Window mit einem TEdit erzeugt. Das Problem ist nun, dass die neue TForm keinen Focus hat und auch das TEdit nicht focusiert/editiert werden kann, solange der Parent gesetzt ist. Ist Parent == NULL funktioniert alles, bloß dass das Fenster dann halt nicht mehr nur innerhalb des Main-Windows verschiebbar ist.</p>
<p>Hat jemand eine Erklärung/Lösung parat, warum das so ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/661548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/661548</guid><dc:creator><![CDATA[F98]]></dc:creator><pubDate>Mon, 29 Nov 2004 08:14:17 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Mon, 29 Nov 2004 16:24:26 GMT]]></title><description><![CDATA[<p>mach mal statt</p>
<p>Form2-&gt;Parent= ...;</p>
<p>::SetParent(...);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/662035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662035</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Mon, 29 Nov 2004 16:24:26 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 06:08:04 GMT]]></title><description><![CDATA[<p>Forms haben gar keinen Parent...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/662450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662450</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 30 Nov 2004 06:08:04 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 07:19:47 GMT]]></title><description><![CDATA[<blockquote>
<p>Forms haben gar keinen Parent...</p>
</blockquote>
<p>Haben sie jawohl ! <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/662466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662466</guid><dc:creator><![CDATA[Peter]]></dc:creator><pubDate>Tue, 30 Nov 2004 07:19:47 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 08:01:44 GMT]]></title><description><![CDATA[<p>Dann prüf es doch einfach mal mit dem Debugger...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/662490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662490</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 30 Nov 2004 08:01:44 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 08:30:08 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>TForm kann sehr wohl einen Parent haben. Lediglich bei Forms die direkt auf dem Windows-Desktop liegen (wohl die Meisten) ist Parent gleich NULL (siehe Borland Hilfe):</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/662504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662504</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 30 Nov 2004 08:30:08 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 10:26:34 GMT]]></title><description><![CDATA[<p>So, wenn ich statt:</p>
<pre><code class="language-cpp">Form2-&gt;Parent = this;
</code></pre>
<p>folgendes probiere:</p>
<pre><code class="language-cpp">Form2-&gt;SetParent(this);
</code></pre>
<p>kommt</p>
<p>[C++ Fehler] Unit1.cpp(24): E2247 Zugriff auf '_fastcall TCustomForm::SetParent(TWinControl *)' nicht möglich</p>
<p>Steht auch so in der Hilfe, das das so sein muss. <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/662584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662584</guid><dc:creator><![CDATA[F98]]></dc:creator><pubDate>Tue, 30 Nov 2004 10:26:34 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 10:26:24 GMT]]></title><description><![CDATA[<p>SetParent ist in TForm privat. Du kannst also so nicht darauf zugreifen. Allerdings wird sie bei der Zuweisung Parent = this intern ohnehin aufgerufen. Parent ist ja eine Property.</p>
<pre><code class="language-cpp">__property TWinControl* Parent = {read=FParent, write=SetParent};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/662593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662593</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 30 Nov 2004 10:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 10:58:54 GMT]]></title><description><![CDATA[<p>Wenn man die Hilfe aufmerksam liest, steht da bei Parent was von eingebetteten Forms. Das ist hier wohl nicht der Fall, ergo muss Parent = NULL bleiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/662626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662626</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 30 Nov 2004 10:58:54 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 11:09:51 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1387">@Braunstein</a></p>
<p>Yo, hab ich schon gelesen.</p>
<p>Trotzdem ist mir nicht klar was das damit zu tun hat, ob ich den Parent setze oder nicht, ob das Fenster focusiert werden kann, oder nicht. <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/662632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662632</guid><dc:creator><![CDATA[F98]]></dc:creator><pubDate>Tue, 30 Nov 2004 11:09:51 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 11:37:19 GMT]]></title><description><![CDATA[<p>@Joe_M.<br />
Wenn der Parent !=NULL ist, dann ist die Form eingebettet.<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1269">@F98</a><br />
Da es bei Parent = NULL geht und anders nicht, muss es ja irgendwas damit zu tun haben. Ich weis allerdings auch nicht was.<br />
Musst du die andere Form unbedingt in der Elternform bewegen ?<br />
Wenn nicht, sollte ja auch ein TFrame reichen.<br />
Wenn doch, müsstest du wohl Parent auf NULL setzen und WM_MOVE oder WM_MOVING abfangen und die Positionen überprüfen und ggf. setzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/662650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662650</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 30 Nov 2004 11:37:19 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 13:11:25 GMT]]></title><description><![CDATA[<p>Hm. Das mit dem WM_MOVE hat mich auf die Idee gebracht, einfach ein TPanel zu nehmen und dort mit OnMouseMove zu reagieren. Diese Elemente kann man dann auch innerhalb des Fensters schön rumschieben.</p>
<p>Der Hintergrund der ganzen Geschichte ist, dass ich die GDI-Objekte in einer Simulationsanwendung von ca. 4600 auf ein Minimum reduzieren muss, da ich, sobald die Magische Grenze überschritten wird, GDI-Failures ohne Ende bekomme. Anscheinend kann Windows nicht mehr als ca. 4600 Fenster verarbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/662754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/662754</guid><dc:creator><![CDATA[F98]]></dc:creator><pubDate>Tue, 30 Nov 2004 13:11:25 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Tue, 30 Nov 2004 18:17:30 GMT]]></title><description><![CDATA[<p>F98 schrieb:</p>
<blockquote>
<p>So, wenn ich statt:</p>
<pre><code class="language-cpp">Form2-&gt;Parent = this;
</code></pre>
<p>folgendes probiere:</p>
<pre><code class="language-cpp">Form2-&gt;SetParent(this);
</code></pre>
<p>kommt</p>
<p>[C++ Fehler] Unit1.cpp(24): E2247 Zugriff auf '_fastcall TCustomForm::SetParent(TWinControl *)' nicht möglich</p>
<p>Steht auch so in der Hilfe, das das so sein muss. <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>
</blockquote>
<p>**************************************************************<br />
Du solltest ja auch</p>
<p>::SetParent(ChildHandle,NewParentWinHandle);</p>
<p>probieren. <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/663068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/663068</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Tue, 30 Nov 2004 18:17:30 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Wed, 01 Dec 2004 08:25:19 GMT]]></title><description><![CDATA[<p>Eine Triumph-Fanfare für den Altenburger!!!!</p>
<p>[cpp]<br />
Form2 = new TForm(Application);<br />
<strong>Form2-&gt;Parent=NULL;<br />
::SetParent(Form2-&gt;Handle,this-&gt;Handle);</strong><br />
Form2-&gt;BorderStyle = bsSizeable;<br />
Form2-&gt;Left=random(100);<br />
Form2-&gt;Top=random(100);<br />
Form2-&gt;Height=300;<br />
Form2-&gt;Width=300;</p>
<p>TEdit *Edit = new TEdit(Form2);<br />
Edit-&gt;Top = 0;<br />
Edit-&gt;Left = 0;<br />
Edit-&gt;Parent = Form2;</p>
<p>Form2-&gt;Show();<br />
[/cpp]</p>
<p>Da muss man erst mal drauf kommen! <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="😉"
    /> Mir ist aber immer noch unklar, warum der selbe Effekt nicht mit einem simplen Form2-&gt;Parent=this; funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/663355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/663355</guid><dc:creator><![CDATA[F98]]></dc:creator><pubDate>Wed, 01 Dec 2004 08:25:19 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Fri, 03 Dec 2004 18:38:20 GMT]]></title><description><![CDATA[<p>Ich denke mal:</p>
<p>Form-&gt;Parent ... ist ne Borland Anpassung der WinApi- Funktion SetParent</p>
<p>::SetParent ruft die WinApi- Funktion von Windows!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/665410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/665410</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Fri, 03 Dec 2004 18:38:20 GMT</pubDate></item><item><title><![CDATA[Reply to Form - Parent - Problem on Mon, 06 Dec 2004 07:10:59 GMT]]></title><description><![CDATA[<p>... und wieder mal schlecht umgesetzt, wie bei &quot;Scaled=true&quot;! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/666829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/666829</guid><dc:creator><![CDATA[F98]]></dc:creator><pubDate>Mon, 06 Dec 2004 07:10:59 GMT</pubDate></item></channel></rss>