<?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[zu Faq : Komponenten benutzen - Sendernamen bei einer OnClick-Prozedur identifizieren]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin relativ neu eingestiegen in C++ und den Borland Compiler und habe mich jetzt schon durch viele Probleme alleine duchgemogelt. Nun hab ich aber ein wirklich kleines Problem, das hier auch schon mehrfach angesprochen wurde, wo ich aber die Lösung nicht verstehe.</p>
<p>Mein Problem ist folgendes.</p>
<p>Ich erzeuge mehrere dynamische Buttons und will einfach abfragen welcher gedrückt worden ist. Ich komm einfach nicht auf die Lösung, hab auch schon mehrere Stunden gelesen.</p>
<p>Ich kann z.B. Buttons erzeugen, und diesen ein ereignis zuordnen!<br />
z.B.<br />
spbutton[i]-&gt;Left = (teilekat[u]-&gt;Width-80)/2;<br />
spbutton[i]-&gt;Visible = true;<br />
spbutton[i]-&gt;Top = (butjesheetzaehler[u]-1)*130;<br />
spbutton[i]-&gt;OnClick = Edit1Change;</p>
<p>Aber wie erfahre ich in der Prozedure Edit1Change welcher Knopf gedrückt wurde.</p>
<p>Edit1Change ist ist Standart Procedure für ein Editfeld.</p>
<p>Wie gesagt, wahrscheinlich denke ich zu umständlich und es ist ganz einfach.</p>
<p>Danke im voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/87330/zu-faq-komponenten-benutzen-sendernamen-bei-einer-onclick-prozedur-identifizieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Jul 2026 11:17:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/87330.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Sep 2004 09:12:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to zu Faq : Komponenten benutzen - Sendernamen bei einer OnClick-Prozedur identifizieren on Wed, 29 Sep 2004 09:12:31 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin relativ neu eingestiegen in C++ und den Borland Compiler und habe mich jetzt schon durch viele Probleme alleine duchgemogelt. Nun hab ich aber ein wirklich kleines Problem, das hier auch schon mehrfach angesprochen wurde, wo ich aber die Lösung nicht verstehe.</p>
<p>Mein Problem ist folgendes.</p>
<p>Ich erzeuge mehrere dynamische Buttons und will einfach abfragen welcher gedrückt worden ist. Ich komm einfach nicht auf die Lösung, hab auch schon mehrere Stunden gelesen.</p>
<p>Ich kann z.B. Buttons erzeugen, und diesen ein ereignis zuordnen!<br />
z.B.<br />
spbutton[i]-&gt;Left = (teilekat[u]-&gt;Width-80)/2;<br />
spbutton[i]-&gt;Visible = true;<br />
spbutton[i]-&gt;Top = (butjesheetzaehler[u]-1)*130;<br />
spbutton[i]-&gt;OnClick = Edit1Change;</p>
<p>Aber wie erfahre ich in der Prozedure Edit1Change welcher Knopf gedrückt wurde.</p>
<p>Edit1Change ist ist Standart Procedure für ein Editfeld.</p>
<p>Wie gesagt, wahrscheinlich denke ich zu umständlich und es ist ganz einfach.</p>
<p>Danke im voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/616878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/616878</guid><dc:creator><![CDATA[eddie_teddie]]></dc:creator><pubDate>Wed, 29 Sep 2004 09:12:31 GMT</pubDate></item><item><title><![CDATA[Reply to zu Faq : Komponenten benutzen - Sendernamen bei einer OnClick-Prozedur identifizieren on Wed, 29 Sep 2004 09:22:14 GMT]]></title><description><![CDATA[<p>Du könntest die Tag Eigenschaft verwenden. Also in jedem neu erzeugten Button den Tag auf den aktuellen Index setzen. Das kannst du dann mittels dynamic_cast auswerten und weißt so, der wievielte Button angeklickt wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/616888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/616888</guid><dc:creator><![CDATA[Dasd]]></dc:creator><pubDate>Wed, 29 Sep 2004 09:22:14 GMT</pubDate></item><item><title><![CDATA[Reply to zu Faq : Komponenten benutzen - Sendernamen bei einer OnClick-Prozedur identifizieren on Wed, 29 Sep 2004 10:15:54 GMT]]></title><description><![CDATA[<p>Danke für die prompte Anwort,</p>
<p>hab noch nie mit tag und dynamic_cast gearbeitet, wenn man aber erstmal weis wies geht funktionierts klasse.</p>
<p>Danke nochmal...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/616912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/616912</guid><dc:creator><![CDATA[eddie_teddie]]></dc:creator><pubDate>Wed, 29 Sep 2004 10:15:54 GMT</pubDate></item><item><title><![CDATA[Reply to zu Faq : Komponenten benutzen - Sendernamen bei einer OnClick-Prozedur identifizieren on Wed, 29 Sep 2004 10:17:38 GMT]]></title><description><![CDATA[<p>Außer der Verwendung von Tags, könntest Du natürlich auch jedem Button noch einen Namen zuweisen und diesen in der Ereignis-<br />
behandlungsprozedur abfragen.</p>
<pre><code class="language-cpp">spbutton[i]-&gt;Name = &quot;EindeutigerButtonName&quot;;
</code></pre>
<p>Und in der OnChange-Prozedur:</p>
<pre><code class="language-cpp">TButton* btn = dynamic_cast&lt;TButton*&gt; (Sender);
  if (btn &amp;&amp; btn-&gt;Name == &quot;EindeutigerButtonName&quot;)
    tuIrgendwasSinnvolles(btn);
</code></pre>
<p>Da Du Dir die Instanzen der Buttons ja ohnehin in einem Array gespeichert hast, könntest Du in der OnChange-Prozedur natürlich<br />
auch einfach auf Gleichheit abprüfen:</p>
<pre><code class="language-cpp">for (int i=0; i&lt;AnzahlDerButtons; ++i)
    if (Sender == spbutton[i])
      tuIrgendwasSinnvolles(spbutton[i]);
</code></pre>
<p>Anstatt die Buttons in einem Array zu speichern, könntest Du sie auch in ein Liste, TList oder TStringList, speichern. Damit<br />
lässt sich dann direkt abprüfen, ob der Button in der Liste enthalten ist.</p>
<p>Ich weiß allerdings nicht, ob das jetzt irgendwie Deine Frage beantwortet.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/616914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/616914</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Wed, 29 Sep 2004 10:17:38 GMT</pubDate></item><item><title><![CDATA[Reply to zu Faq : Komponenten benutzen - Sendernamen bei einer OnClick-Prozedur identifizieren on Wed, 29 Sep 2004 10:28:10 GMT]]></title><description><![CDATA[<p>Hallo Alexander,</p>
<p>danke für deine Antwort,<br />
für mein aktuelles Problem ist die Nummerierung der Buttons sinnvoller, da hinter den Buttons auch noch ein anderes Array mit dem selben Index liegt. Für die Zukunft ist es aber eine wichtige Info für mich, da ich ja noch nie mit dynamic_casts gearbeitet habe.</p>
<p>Danke nochmals..... <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/616919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/616919</guid><dc:creator><![CDATA[eddie_teddie]]></dc:creator><pubDate>Wed, 29 Sep 2004 10:28:10 GMT</pubDate></item><item><title><![CDATA[Reply to zu Faq : Komponenten benutzen - Sendernamen bei einer OnClick-Prozedur identifizieren on Wed, 29 Sep 2004 10:37:33 GMT]]></title><description><![CDATA[<p>eddie_teddie schrieb:</p>
<blockquote>
<p>da hinter den Buttons auch noch ein anderes Array mit dem selben Index liegt.</p>
</blockquote>
<p>Wäre es da nicht sinnvoller eine kleine Klasse zu schreiben, die den Button und das jeweils zugehörige Array-Element aus dem anderen Array enthält, und<br />
dann jeweils Instanzen der Klasse in einem gemeinsamen Array (oder einer Liste) zu speichern anstatt zwei Arrays zu verwalten?</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/616929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/616929</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Wed, 29 Sep 2004 10:37:33 GMT</pubDate></item><item><title><![CDATA[Reply to zu Faq : Komponenten benutzen - Sendernamen bei einer OnClick-Prozedur identifizieren on Wed, 29 Sep 2004 10:52:53 GMT]]></title><description><![CDATA[<p>Hallo Alexander,</p>
<p>ich nehme stark an, das du recht hast. Theoretisch weis ich auch genau damit umzugehen, jedoch habe ich noch nicht den erforderlichen &quot;mut&quot;, so durchgängig objektorientiert zu Programmieren. Ich habe objektorientierte Programmieren nur aus Büchern, und tue mir damit noch extrem schwer.<br />
Wenn ich mal mehr Routine hab, und auch mit meinen Büchern zu lesen weiter bin, werde ich dies auch mehr beherzigen!</p>
<p>Danke für deine Anregungen</p>
<p>Grüsse Erik</p>
]]></description><link>https://www.c-plusplus.net/forum/post/616941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/616941</guid><dc:creator><![CDATA[eddie_teddie]]></dc:creator><pubDate>Wed, 29 Sep 2004 10:52:53 GMT</pubDate></item></channel></rss>