<?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[GUI-Durcheinander]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe auf meinem GUI diverse TCheckBoxen angeordnet in folgender Darstellung:</p>
<pre><code>inv
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
</code></pre>
<p>und die CheckBoxen haben folgende Namen:</p>
<pre><code>// die linken Boxen
Betrb_inv_CB
Stoer_inv_CB
AUS2_inv_CB
AUS3_inv_CB
Warn_inv_CB
Fahr_inv_CB
Soll_inv_CB
ExBrem_inv_CB
Lage_inv_CB
Ausg1_inv_CB

// die rechten Boxen
Betrb_CB
Stoer_CB
AUS2_CB
AUS3_CB
Warn_CB
Fahr_CB
Soll_CB
ExBrem_CB
Lage_CB
Ausg1_CB
</code></pre>
<p>und ich habe bei allen das OnClick-Ereigniss 'Check_inv' zugewiesen, die Funktion sieht wie folgt aus:</p>
<pre><code class="language-cpp">void __fastcall TExtAusg_Frm::Check_inv(TObject *Sender)
{
TCheckBox *tmpBox_p = dynamic_cast&lt;TCheckBox*&gt;(Sender);
if (tmpBox_p)//ist Sender vom Typ TCheckBox?
  {
  if (tmpBox_p-&gt;Name.AnsiPos(&quot;_inv&quot;))// Wenn es eine invertierungs CheckBox ist
    {// überprüfen ob CheckBox welche nicht inv ist, nicht auch angekreuzt ist
    AnsiString tmpName= tmpBox_p-&gt;Name.Delete((tmpBox_p-&gt;Name.AnsiPos(&quot;_inv&quot;)),4);
    TCheckBox* p_tmpCB = dynamic_cast&lt;TCheckBox*&gt;(FindComponent(tmpName));// Edit finden im Parent
    if (p_tmpCB)
      {
      if (p_tmpCB-&gt;Checked)
        p_tmpCB-&gt;Checked=false;
      }
    }
  else
    {// überprüfen, ob nur CheckBox ohne '_inv' angekreuzt ist.
    }
  }
}
</code></pre>
<p>D.h. ich möchte immer, wenn ich eine linke CheckBox ankreuze und bereits eine rechte angekreuzt ist, die Rechte 'abkreuzen' <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>
<p>Das würd' ja auch ganz gut funktionieren, nur, wenn ich auf eine linke Checkbox klicke, ist Sender in Check_inv() plötzlich (meistens) ein Pointer auf die Rechte, d.h. Sender-&gt;Name ist plötzlich = 'Betrb_CB' anstatt = 'Betrb_inv_CB'</p>
<p>Warum bloss das??? Danke für eure Hilfe! <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/topic/100902/gui-durcheinander</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Jul 2026 14:44:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/100902.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Feb 2005 09:51:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 09:51:24 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe auf meinem GUI diverse TCheckBoxen angeordnet in folgender Darstellung:</p>
<pre><code>inv
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
[ ] [ ] Caption der Rechten TCheckBox
</code></pre>
<p>und die CheckBoxen haben folgende Namen:</p>
<pre><code>// die linken Boxen
Betrb_inv_CB
Stoer_inv_CB
AUS2_inv_CB
AUS3_inv_CB
Warn_inv_CB
Fahr_inv_CB
Soll_inv_CB
ExBrem_inv_CB
Lage_inv_CB
Ausg1_inv_CB

// die rechten Boxen
Betrb_CB
Stoer_CB
AUS2_CB
AUS3_CB
Warn_CB
Fahr_CB
Soll_CB
ExBrem_CB
Lage_CB
Ausg1_CB
</code></pre>
<p>und ich habe bei allen das OnClick-Ereigniss 'Check_inv' zugewiesen, die Funktion sieht wie folgt aus:</p>
<pre><code class="language-cpp">void __fastcall TExtAusg_Frm::Check_inv(TObject *Sender)
{
TCheckBox *tmpBox_p = dynamic_cast&lt;TCheckBox*&gt;(Sender);
if (tmpBox_p)//ist Sender vom Typ TCheckBox?
  {
  if (tmpBox_p-&gt;Name.AnsiPos(&quot;_inv&quot;))// Wenn es eine invertierungs CheckBox ist
    {// überprüfen ob CheckBox welche nicht inv ist, nicht auch angekreuzt ist
    AnsiString tmpName= tmpBox_p-&gt;Name.Delete((tmpBox_p-&gt;Name.AnsiPos(&quot;_inv&quot;)),4);
    TCheckBox* p_tmpCB = dynamic_cast&lt;TCheckBox*&gt;(FindComponent(tmpName));// Edit finden im Parent
    if (p_tmpCB)
      {
      if (p_tmpCB-&gt;Checked)
        p_tmpCB-&gt;Checked=false;
      }
    }
  else
    {// überprüfen, ob nur CheckBox ohne '_inv' angekreuzt ist.
    }
  }
}
</code></pre>
<p>D.h. ich möchte immer, wenn ich eine linke CheckBox ankreuze und bereits eine rechte angekreuzt ist, die Rechte 'abkreuzen' <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>
<p>Das würd' ja auch ganz gut funktionieren, nur, wenn ich auf eine linke Checkbox klicke, ist Sender in Check_inv() plötzlich (meistens) ein Pointer auf die Rechte, d.h. Sender-&gt;Name ist plötzlich = 'Betrb_CB' anstatt = 'Betrb_inv_CB'</p>
<p>Warum bloss das??? Danke für eure Hilfe! <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/720428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720428</guid><dc:creator><![CDATA[roN]]></dc:creator><pubDate>Fri, 11 Feb 2005 09:51:24 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 11:45:18 GMT]]></title><description><![CDATA[<p>roN schrieb:</p>
<blockquote>
<pre><code class="language-cpp">tmpBox_p-&gt;Name.Delete((tmpBox_p-&gt;Name.AnsiPos(&quot;_inv&quot;)),4);
</code></pre>
</blockquote>
<p>roN schrieb:</p>
<blockquote>
<p>d.h. Sender-&gt;Name ist plötzlich = 'Betrb_CB' anstatt = 'Betrb_inv_CB'</p>
</blockquote>
<p>Was hattest Du denn erwartet, was passieren würde, wenn du den Text rauslöschst?</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720498</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Fri, 11 Feb 2005 11:45:18 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 11:50:09 GMT]]></title><description><![CDATA[<p>Davon abgesehen, sollte für so etwas TRadioGroup, oder TRadioButton verwendet werden.<br />
<a href="http://digilander.libero.it/chiediloapippo/Engineering/iarchitect/shame.htm" rel="nofollow">&quot;Interface Hall of Shame&quot;</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/720503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720503</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 11 Feb 2005 11:50:09 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 12:16:24 GMT]]></title><description><![CDATA[<p>Alexander Kempf schrieb:</p>
<blockquote>
<p>roN schrieb:</p>
<blockquote>
<pre><code class="language-cpp">tmpBox_p-&gt;Name.Delete((tmpBox_p-&gt;Name.AnsiPos(&quot;_inv&quot;)),4);
</code></pre>
</blockquote>
<p>roN schrieb:</p>
<blockquote>
<p>d.h. Sender-&gt;Name ist plötzlich = 'Betrb_CB' anstatt = 'Betrb_inv_CB'</p>
</blockquote>
<p>Was hattest Du denn erwartet, was passieren würde, wenn du den Text rauslöschst?</p>
<p>Gruß,</p>
<p>Alexander</p>
</blockquote>
<p>Das mach ich ja nur um abzuchecken ob die rechte CheckBox auch angekreuzt ist, ich mach damit nichts, ich weise das ja dem tmpName-String zu, oder überschreibt das sich etwa selber?:</p>
<pre><code class="language-cpp">AnsiString tmpName= tmpBox_p-&gt;Name.Delete((tmpBox_p-&gt;Name.AnsiPos(&quot;_inv&quot;)),4);
    TCheckBox* p_tmpCB = dynamic_cast&lt;TCheckBox*&gt;(FindComponent(tmpName));// CheckBox finden im Parent
    if (p_tmpCB)
      {
      if (p_tmpCB-&gt;Checked)// falls doch anekreuzt,...
        p_tmpCB-&gt;Checked=false; // ...abkreuzen
      }
</code></pre>
<p>Joe_M. schrieb:</p>
<blockquote>
<p>Davon abgesehen, sollte für so etwas TRadioGroup, oder TRadioButton verwendet werden.<br />
<a href="http://digilander.libero.it/chiediloapippo/Engineering/iarchitect/shame.htm" rel="nofollow">&quot;Interface Hall of Shame&quot;</a></p>
</blockquote>
<p>Die kann man aber nicht mehr De-Selektieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720534</guid><dc:creator><![CDATA[roN]]></dc:creator><pubDate>Fri, 11 Feb 2005 12:16:24 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 12:22:46 GMT]]></title><description><![CDATA[<p>roN schrieb:</p>
<blockquote>
<p>oder überschreibt das sich etwa selber?:</p>
</blockquote>
<p>Schau doch mal in die Hilfe...<br />
Wenn Du keine Lust hast (oder Zeit oder irgendein anderer Grund besteht), kannst Du Dir auch behelfen,<br />
indem Du vor dem Löschen den Inhalt in die temporäre Variable kopierst.</p>
<p>roN schrieb:</p>
<blockquote>
<p>Joe_M. schrieb:</p>
<blockquote>
<p>Davon abgesehen, sollte für so etwas TRadioGroup, oder TRadioButton verwendet werden.</p>
</blockquote>
<p>Die kann man aber nicht mehr De-Selektieren.</p>
</blockquote>
<p>Dann nimm halt drei.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720543</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Fri, 11 Feb 2005 12:22:46 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 12:26:07 GMT]]></title><description><![CDATA[<p>Dir ist schon klar, dass Du auch mit dem manuellen Zuweisen des Checked-Status, die Ereignisroutine dazu ausgelöst wird?</p>
<p>Äh, dann gibt es 3 Stati? Beide aus und entweder das eine an, oder das andere an? Das wären dann 3 Radiobuttons. Status 1, Status 2 und Nichts von alledem. Als User würde ich das vorziehen, da weiß ich gleich woran ich bin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720550</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 11 Feb 2005 12:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 12:27:52 GMT]]></title><description><![CDATA[<p>Alexander Kempf schrieb:</p>
<blockquote>
<p>Schau doch mal in die Hilfe...<br />
Wenn Du keine Lust hast (oder Zeit oder irgendein anderer Grund besteht), kannst Du Dir auch behelfen,<br />
indem Du vor dem Löschen den Inhalt in die temporäre Variable kopierst.</p>
<p>Gruß,</p>
<p>Alexander</p>
</blockquote>
<p>*genauerindieHilfekuk*<br />
Ach ja... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> *huups* jetzt läufts <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="🙂"
    /><br />
Danke Dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720554</guid><dc:creator><![CDATA[roN]]></dc:creator><pubDate>Fri, 11 Feb 2005 12:27:52 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 12:38:11 GMT]]></title><description><![CDATA[<p>Joe_M. schrieb:</p>
<blockquote>
<p>Dir ist schon klar, dass Du auch mit dem manuellen Zuweisen des Checked-Status, die Ereignisroutine dazu ausgelöst wird?</p>
<p>Äh, dann gibt es 3 Stati? Beide aus und entweder das eine an, oder das andere an? Das wären dann 3 Radiobuttons. Status 1, Status 2 und Nichts von alledem. Als User würde ich das vorziehen, da weiß ich gleich woran ich bin.</p>
</blockquote>
<p>Das ist schon so, aber um die 'Zueinandergehörigkeit' festzulegen muss ich noch 10 Gruppenfelder anlegen, welche schlecht Platz finden... <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/720571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720571</guid><dc:creator><![CDATA[roN]]></dc:creator><pubDate>Fri, 11 Feb 2005 12:38:11 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 14:22:58 GMT]]></title><description><![CDATA[<p>roN schrieb:</p>
<blockquote>
<p>Joe_M. schrieb:</p>
<blockquote>
<p>Dir ist schon klar, dass Du auch mit dem manuellen Zuweisen des Checked-Status, die Ereignisroutine dazu ausgelöst wird?</p>
<p>Äh, dann gibt es 3 Stati? Beide aus und entweder das eine an, oder das andere an? Das wären dann 3 Radiobuttons. Status 1, Status 2 und Nichts von alledem. Als User würde ich das vorziehen, da weiß ich gleich woran ich bin.</p>
</blockquote>
<p>Das ist schon so, aber um die 'Zueinandergehörigkeit' festzulegen muss ich noch 10 Gruppenfelder anlegen, welche schlecht Platz finden... <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>
</blockquote>
<p>Schonmal die Hilfe zu TRadioButton durchgelesen? Da steht auch wie es in deinem Fall gehen würde...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720690</guid><dc:creator><![CDATA[Dasd]]></dc:creator><pubDate>Fri, 11 Feb 2005 14:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 14:37:39 GMT]]></title><description><![CDATA[<p>Dasd schrieb:</p>
<blockquote>
<p>die Hilfe zu TRadioButton durchgelesen? Da steht auch wie es in deinem Fall gehen würde...</p>
</blockquote>
<p>eben, ich müsste 10 Gruppenfelder erstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720711</guid><dc:creator><![CDATA[roN]]></dc:creator><pubDate>Fri, 11 Feb 2005 14:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to GUI-Durcheinander on Fri, 11 Feb 2005 14:46:25 GMT]]></title><description><![CDATA[<p>*seufz*</p>
<p>BCB-Hilfe schrieb:</p>
<blockquote>
<p>Standardmäßig gehören alle Optionsfelder, die in einem fensterorientierten Container enthalten sind (z.B. in TRadioGroup oder <strong>TPanel</strong>), zur selben Gruppe. Zwei Optionsfelder in einem Formular können beispielsweise nur dann <strong>gleichzeitig aktiviert</strong> sein, wenn sie in <strong>separaten Containern</strong> (z.B. in zwei unterschiedlichen Gruppenfeldern) enthalten sind.</p>
</blockquote>
<p>Ich habe mal die wichtigsten Dinge markiert. Und bei Panels kann man den Rahmen unsichtbar machen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720724</guid><dc:creator><![CDATA[Dasd]]></dc:creator><pubDate>Fri, 11 Feb 2005 14:46:25 GMT</pubDate></item></channel></rss>