<?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[Buttons zur Laufzeit - Sender und Handler]]></title><description><![CDATA[<p>Hallo</p>
<p>ich fülle in einer Schleife ein stringGrid. Darin sollen in einer Spalte Buttons erzeugt werden. Wie geht man mit dem Click Event um? Sind ja mehrere Buttons.</p>
<pre><code class="language-cpp">int i = 0;

while (!ADOQueryGrid-&gt;Eof) {

    i = i + 1;

    // Def. Rechteck
    TRect R;
    R = stringGrid-&gt;CellRect(11,i);

    // Def. Button
    TButton *butDet = new TButton(this);
    butDet-&gt;Name = &quot;butDet&quot; + IntToStr(i);
    butDet-&gt;Caption = &quot;Details&quot;;
    butDet-&gt;Left = stringGrid-&gt;Left + R.Left + 2;
    butDet-&gt;Top = stringGrid-&gt;Top + R.Top + 2;
    butDet-&gt;Width = R.Width();
    butDet-&gt;Height = R.Height();

    butDet-&gt;OnClick = butDetClick; // Button Event
    butDet-&gt;Parent = MainForm;
    ADOQueryGrid-&gt;Next();

}
</code></pre>
<p>Das funkt auch wunderbar und soll beim Click das hier aufrufen. Je nach Sender<br />
dann eine andere Aktion.</p>
<pre><code class="language-cpp">void __fastcall TMainForm::butDetClick(TObject *Sender)
{
    ShowMessage(Sender); // soll Namen des Buttons ausgeben, geht so nicht
    // Fehler: Konvertierung von 'TObject *' nach 'AnsiString' nicht möglich
    // hier die Aktion. z.B Id aus Grid Spalte an andere Funktion weitergeben. 
}
</code></pre>
<p>Wie komme ich an den Sender ran? Muß ich den schon im Funktionsaufruf übergeben?</p>
<p>Gruß und Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155978/buttons-zur-laufzeit-sender-und-handler</link><generator>RSS for Node</generator><lastBuildDate>Sun, 09 Aug 2026 22:58:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155978.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Aug 2006 15:54:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Buttons zur Laufzeit - Sender und Handler on Fri, 11 Aug 2006 15:54:09 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich fülle in einer Schleife ein stringGrid. Darin sollen in einer Spalte Buttons erzeugt werden. Wie geht man mit dem Click Event um? Sind ja mehrere Buttons.</p>
<pre><code class="language-cpp">int i = 0;

while (!ADOQueryGrid-&gt;Eof) {

    i = i + 1;

    // Def. Rechteck
    TRect R;
    R = stringGrid-&gt;CellRect(11,i);

    // Def. Button
    TButton *butDet = new TButton(this);
    butDet-&gt;Name = &quot;butDet&quot; + IntToStr(i);
    butDet-&gt;Caption = &quot;Details&quot;;
    butDet-&gt;Left = stringGrid-&gt;Left + R.Left + 2;
    butDet-&gt;Top = stringGrid-&gt;Top + R.Top + 2;
    butDet-&gt;Width = R.Width();
    butDet-&gt;Height = R.Height();

    butDet-&gt;OnClick = butDetClick; // Button Event
    butDet-&gt;Parent = MainForm;
    ADOQueryGrid-&gt;Next();

}
</code></pre>
<p>Das funkt auch wunderbar und soll beim Click das hier aufrufen. Je nach Sender<br />
dann eine andere Aktion.</p>
<pre><code class="language-cpp">void __fastcall TMainForm::butDetClick(TObject *Sender)
{
    ShowMessage(Sender); // soll Namen des Buttons ausgeben, geht so nicht
    // Fehler: Konvertierung von 'TObject *' nach 'AnsiString' nicht möglich
    // hier die Aktion. z.B Id aus Grid Spalte an andere Funktion weitergeben. 
}
</code></pre>
<p>Wie komme ich an den Sender ran? Muß ich den schon im Funktionsaufruf übergeben?</p>
<p>Gruß und Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115468</guid><dc:creator><![CDATA[javad]]></dc:creator><pubDate>Fri, 11 Aug 2006 15:54:09 GMT</pubDate></item><item><title><![CDATA[Reply to Buttons zur Laufzeit - Sender und Handler on Fri, 11 Aug 2006 16:08:07 GMT]]></title><description><![CDATA[<p><a href="http://www.marquardtnet.info/cecke/quickies.1/1_quicky_17.html" rel="nofollow">http://www.marquardtnet.info/cecke/quickies.1/1_quicky_17.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115486</guid><dc:creator><![CDATA[Christian411]]></dc:creator><pubDate>Fri, 11 Aug 2006 16:08:07 GMT</pubDate></item><item><title><![CDATA[Reply to Buttons zur Laufzeit - Sender und Handler on Fri, 11 Aug 2006 17:17:17 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>steht auch in der FAQ unter <em>Komponenten benutzen</em>.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115515</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 11 Aug 2006 17:17:17 GMT</pubDate></item></channel></rss>