<?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[Funktion in anderer Funktion aufrufen]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich in dieser Funktion (void __fastcall TForm1::NewListBoxWindowProc(TMessage &amp;Msg){} )<br />
Form1-&gt;Edit1Change(Sender); aufrufen? Geht das überhaupt in solch einer Funktion?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/170303/funktion-in-anderer-funktion-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 21:37:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170303.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Jan 2007 11:16:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 11:16:18 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich in dieser Funktion (void __fastcall TForm1::NewListBoxWindowProc(TMessage &amp;Msg){} )<br />
Form1-&gt;Edit1Change(Sender); aufrufen? Geht das überhaupt in solch einer Funktion?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209573</guid><dc:creator><![CDATA[daniel23]]></dc:creator><pubDate>Sun, 14 Jan 2007 11:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 11:19:48 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>natürlich geht das.<br />
Wenn der Sender-Parameter egal ist, einfach</p>
<pre><code class="language-cpp">Edit1Change(NULL);
</code></pre>
<p>Wenn du gleich ein spezielles Objekt übergeben willst, dann eben dieses reinschrieben</p>
<pre><code class="language-cpp">Edit1Change(Edit1);
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209577</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 14 Jan 2007 11:19:48 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 11:29:31 GMT]]></title><description><![CDATA[<p>Hallo,<br />
jo, danke!</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209581</guid><dc:creator><![CDATA[daniel23]]></dc:creator><pubDate>Sun, 14 Jan 2007 11:29:31 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 13:06:37 GMT]]></title><description><![CDATA[<p>hallo akari<br />
hätte dazu auch mal ne Frage.<br />
Folgendes Beispiel. Ich habe z.B. 2 TListView und in jedem ein popup menu. Nun wenn ich auf ein popup menu item klicke, möchte ich das jeweilig dazugehörige ListView Object ansprechen. wenn ich dynamic_cast mit sender verwende, ist der sender ja das popup menu item, möchte aber die dazugehörige ListView.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209642</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Sun, 14 Jan 2007 13:06:37 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 13:14:46 GMT]]></title><description><![CDATA[<p>Einfach über die Parent-Property &quot;nach oben&quot; hangeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209650</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sun, 14 Jan 2007 13:14:46 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 13:22:47 GMT]]></title><description><![CDATA[<p>danke.<br />
das hab ich irgendwann schon mal versucht, aber da immer ne Fehlermeldung bekommen. weiß leider nicht mehr was es war. wahrscheinlich habe ich mich nicht weit genug '&quot;nach oben&quot; gehangelt'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209656</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Sun, 14 Jan 2007 13:22:47 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 13:28:09 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>Einfach über die Parent-Property &quot;nach oben&quot; hangeln.</p>
</blockquote>
<p>Das kann nicht mal ich nachvollziehen... Sender entspricht ja dem TPopupMenu. Das hat aber keinen Parent...<br />
/Edit : Achso, ich bin immer noch vom Event TPopupMenu::OnPopup ausgegangen.</p>
<p>Im Builder 5 ist sowas schlecht zu machen. Ich würde als einfachstes das aktive Control überprüfen.</p>
<pre><code class="language-cpp">if (ActiveControl == ListView1)
{
  ...
}
if (ActiveControl == ListView2)
{ 
  ...
}
</code></pre>
<p>Soviel ich weiß gibts aber im Builder 6 und höher spezielle Eigenschaften des PopupMenus, die genau das betreffende Control mit übergeben.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209658</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 14 Jan 2007 13:28:09 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 13:36:33 GMT]]></title><description><![CDATA[<p>erstmal danke akari.<br />
was ich wollte war, ohne den Listview Namen anzugeben die abfrage zu haben.<br />
ich benutze den Builder 6. weißt Du die höher spezielle Eigenschaften des PopupMenus, die dieses übergibt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209663</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Sun, 14 Jan 2007 13:36:33 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 13:40:38 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Nein ich habe nur den 5er. Ich hatte aber mal ein Package, das für den Unterschied zwischen den Versionen extra Präprozessor-Bedinungen hatte. Oder verwechsel ich das jetzt mit TAction?<br />
Jedenfalls sollte mal jemand was dazu sagen, der auch den 6er oder höher benutzt.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209668</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 14 Jan 2007 13:40:38 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 13:44:22 GMT]]></title><description><![CDATA[<p>danke, werde einfach mal probieren und die Möglichkeiten in der code - Vervollständigung anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209672</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Sun, 14 Jan 2007 13:44:22 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 14:15:41 GMT]]></title><description><![CDATA[<p>ich glaube etwas gefunden zu haben 'PopupComponent'. erste variante funktioniert, leider die zweite nicht, gibt einen NULL String. vielleicht Zeiger auf Zeiger ? bin da noch nicht so fit. werd mal weiter probieren.</p>
<pre><code class="language-cpp">AnsiString test = ((TListView *)PopupMenu1-&gt;PopupComponent)-&gt;Name;
   ShowMessage(test);
</code></pre>
<pre><code class="language-cpp">AnsiString test = AnsiString test = ((TListView *)static_cast&lt;TPopupMenu*&gt;(Sender)-&gt;PopupComponent)-&gt;Name;
   ShowMessage(test);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1209689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209689</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Sun, 14 Jan 2007 14:15:41 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 14:24:01 GMT]]></title><description><![CDATA[<p>komischerweise ist beim ersten Bsp. der ClassName TListView und beim Zweiten TMenuItem. <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/1209706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209706</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Sun, 14 Jan 2007 14:24:01 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 15:17:12 GMT]]></title><description><![CDATA[<p>nur zur info, das hier funktioniert. ob es korrekt ist weiß ich nicht.</p>
<pre><code class="language-cpp">AnsiString test = ((TListView *)((TPopupMenu *)static_cast&lt;TMenu*&gt;(Sender)-&gt;GetParentComponent())-&gt;PopupComponent)-&gt;Name;
   ShowMessage(test);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1209740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209740</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Sun, 14 Jan 2007 15:17:12 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 15:33:51 GMT]]></title><description><![CDATA[<p>Sieht nicht sehr vertrauenerweckend aus. <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>
<p>Allerdings frage ich mich, ob nicht der gesamte Ansatz falsch ist.<br />
Zum einen ist das PopupMenu ja fest mit dem jeweiligen ListView verbandelt (über dessen Eigenschaft Popupmenu), so dass eigentlich immer klar sein sollte, welches Menu(Item) zu welchem ListView gehört.<br />
Und zum anderen wird im OnPopup des Menüs nochmal die auslösende Komponente als Sender übergeben, so dass hier eine eventuelle Prüfung einfacher implementiert werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1209750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209750</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sun, 14 Jan 2007 15:33:51 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Sun, 14 Jan 2007 17:06:00 GMT]]></title><description><![CDATA[<p>daß PopupMenu ja fest mit dem jeweiligen ListView verbandelt ist, ist klar, aber ich wollte in einem OnClick event den code schreiben, der dann von allen anderen menus auch benutz werden kann ohne direkt jedes OnClick event seperat zu schreiben.</p>
<blockquote>
<p>Und zum anderen wird im OnPopup des Menüs nochmal die auslösende Komponente als Sender übergeben</p>
</blockquote>
<p>schön das such ich ja, aber wie ?</p>
<p>ich habe mehrere ListView's und in jedem popupmenu ein gleiches Item z.b. suchen/find (ListView Caption Text) und möchte nicht in jedes Menu das OnClick extra scheiben.</p>
<p>z.B so was wie das hier. so nun will ich das z.B. in 6 verschiedenen ListViews verwenden. auch wenn es nicht vertrauenswürdig aussieht es funktioniert, bin aber für eine einfachere Lösung dankbar.</p>
<pre><code class="language-cpp">void __fastcall TForm1::SearchbyID1Click(TObject *Sender)
{
   if(!ListView_Objects-&gt;Items-&gt;Count) return;
   AnsiString NewString = &quot;&quot;;
   if(InputQuery(&quot; ID SEARCH &quot;, &quot;ID Number&quot;, NewString) || !NewString.IsEmpty())
     for (int i = 0; i &lt; ListView_Objects-&gt;Items-&gt;Count; i++)
       {
           if(ListView_Objects-&gt;Items-&gt;Item[i]-&gt;Caption == NewString)
              {
                 ListView_Objects-&gt;ClearSelection();
                 ListView_Objects-&gt;ItemIndex = i;
                 ListView_Objects-&gt;Items-&gt;Item[i]-&gt;MakeVisible(true);
                 break;
              }
       }
}
</code></pre>
<pre><code class="language-cpp">void __fastcall TForm1::SearchbyID1Click(TObject *Sender)
{
   TListView *LiVi = ((TListView *)((TPopupMenu *)static_cast&lt;TMenu*&gt;(Sender)-&gt;GetParentComponent())-&gt;PopupComponent);

   if(!LiVi-&gt;Items-&gt;Count) return;
   AnsiString NewString = &quot;&quot;;
   if(InputQuery(&quot; ID SEARCH &quot;, &quot;ID Number&quot;, NewString) || !NewString.IsEmpty())
     for (int i = 0; i &lt; LiVi-&gt;Items-&gt;Count; i++)
       {
           if(LiVi-&gt;Items-&gt;Item[i]-&gt;Caption == NewString)
              {
                 LiVi-&gt;ClearSelection();
                 LiVi-&gt;ItemIndex = i;
                 LiVi-&gt;Items-&gt;Item[i]-&gt;MakeVisible(true);
                 if(LiVi-&gt;OnClick) LiVi-&gt;OnClick(LiVi);
                 break;
              }
       }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1209783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1209783</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Sun, 14 Jan 2007 17:06:00 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Mon, 15 Jan 2007 09:27:19 GMT]]></title><description><![CDATA[<p>Du rufts diesen Code im OnClick eines popupMenuItems auf?</p>
<pre><code class="language-cpp">TListView *LiVi = ((TListView *)((TPopupMenu *)static_cast&lt;TMenu*&gt;(Sender)-&gt;GetParentComponent())-&gt;PopupComponent);
</code></pre>
<p>Mach es besser so.</p>
<pre><code class="language-cpp">TMenuItem *item = dynamic_cast&lt;TMenuItem*&gt;(Sender);
if( item ) // Ja ist ist ein TMenuItem
{
   TPopupMenu *pmenu = dynamic_cast&lt;TPopupMenu*&gt;(item-&gt;GetParentMenu());
   if( pmenu )
   {
      TListView *lview = dynamic_cast&lt;TListView*&gt;(pmenu-&gt;PopupComponent);
      if( lview ) // jetzt haben wir unser ListView
      {
// jetzt der Code
      }
   }
}
</code></pre>
<p>Hier sind noch ein paar Tests drin um sicherzustellen, dass die Casts auch gültig sind. Ich halte die hier für notwendig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1210082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210082</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 15 Jan 2007 09:27:19 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in anderer Funktion aufrufen on Mon, 15 Jan 2007 14:30:35 GMT]]></title><description><![CDATA[<blockquote>
<p>Du rufts diesen Code im OnClick eines popupMenuItems auf ?</p>
</blockquote>
<p>ja.</p>
<p>Vielen Dank, werde gleich mal probieren.</p>
<p>die Tests sind zwar wahrscheinlich nicht nötig, da ich wirklich nur die OnClick Ereignisse der betreffenden PopupMenu's Items dabei verwende, aber sicher ist sicher und schaden tut sowas nie. <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/1210274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1210274</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Mon, 15 Jan 2007 14:30:35 GMT</pubDate></item></channel></rss>