<?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[Events]]></title><description><![CDATA[<p>Hallo,<br />
folgendes Beispiel aus dem Tutorial Komponenten Entwicklung.</p>
<p>Hier wird ein Ereignis erstellt. Dieser Zeigertyp ist praktisch eine Schablone.</p>
<pre><code class="language-cpp">typedef void __fastcall (__closure *MyClickEvent)(TObject *Sender,int X, int Y);
</code></pre>
<p>Soweit klar, hier kann der Programmierer den Zeiger auf das Event über die Eigenschaft MyClickEvent MyOnClick festlegen.</p>
<pre><code class="language-cpp">//--------------------------------------------------------------------------- 
class PACKAGE TMyRichEdit2 : public TRichEdit 
{ 
private: 
  MyClickEvent IVMyOnClick; //(2) 
__published: 
  __property MyClickEvent MyOnClick={read=IVMyOnClick,write=IVMyOnClick};//(5) 
protected:
</code></pre>
<p>WndProc wird mit einer Message aufgerufen,<br />
ist diese Message &quot;WM_LBUTTONDOWN&quot; wird die Methode MyClick aufgerufen.</p>
<pre><code class="language-cpp">public:   void __fastcall MyClick(int X,int Y)//(3) 
    { 
      if(IVMyOnClick)IVMyOnClick(this,X,Y) ;//(4) 
    } 
  void __fastcall WndProc(Messages::TMessage &amp;Message)//(6) 
   { 
    Dispatch(&amp;Message) ;//(7) 
    switch(Message.Msg) 
    { 
     case WM_LBUTTONDOWN://(8) 
       MyClick(Message.LParamLo,Message.LParamHi);//(9) 
       break; 
    } 
   } 
  __fastcall TMyRichEdit2(TComponent* Owner); 

__published: 
};
</code></pre>
<p>if(IVMyOnClick)-&gt; dann das Event über den Funktionszeiger aufrufen.<br />
if(IVMyOnClick) verstehe ich nicht.</p>
<pre><code class="language-cpp">public:   void __fastcall MyClick(int X,int Y)//(3) 
    { 
      if(IVMyOnClick)IVMyOnClick(this,X,Y) ;//(4) 
    }
</code></pre>
<p>Hätte nur etwas weiterlesen müssen, if(IVMyOnClick) Funktion wird nur über den<br />
Funktionszeiger &quot;IVMyOnClick&quot; aufgerufen wenn der Eigenschaft ein Funktions-<br />
zeiger zugewiesen wurde. Sonst hat der Zeiger NULL und der Aufruf erfolgt nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/111999/events</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Jul 2026 20:03:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/111999.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Jun 2005 12:58:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Events on Tue, 07 Jun 2005 13:35:36 GMT]]></title><description><![CDATA[<p>Hallo,<br />
folgendes Beispiel aus dem Tutorial Komponenten Entwicklung.</p>
<p>Hier wird ein Ereignis erstellt. Dieser Zeigertyp ist praktisch eine Schablone.</p>
<pre><code class="language-cpp">typedef void __fastcall (__closure *MyClickEvent)(TObject *Sender,int X, int Y);
</code></pre>
<p>Soweit klar, hier kann der Programmierer den Zeiger auf das Event über die Eigenschaft MyClickEvent MyOnClick festlegen.</p>
<pre><code class="language-cpp">//--------------------------------------------------------------------------- 
class PACKAGE TMyRichEdit2 : public TRichEdit 
{ 
private: 
  MyClickEvent IVMyOnClick; //(2) 
__published: 
  __property MyClickEvent MyOnClick={read=IVMyOnClick,write=IVMyOnClick};//(5) 
protected:
</code></pre>
<p>WndProc wird mit einer Message aufgerufen,<br />
ist diese Message &quot;WM_LBUTTONDOWN&quot; wird die Methode MyClick aufgerufen.</p>
<pre><code class="language-cpp">public:   void __fastcall MyClick(int X,int Y)//(3) 
    { 
      if(IVMyOnClick)IVMyOnClick(this,X,Y) ;//(4) 
    } 
  void __fastcall WndProc(Messages::TMessage &amp;Message)//(6) 
   { 
    Dispatch(&amp;Message) ;//(7) 
    switch(Message.Msg) 
    { 
     case WM_LBUTTONDOWN://(8) 
       MyClick(Message.LParamLo,Message.LParamHi);//(9) 
       break; 
    } 
   } 
  __fastcall TMyRichEdit2(TComponent* Owner); 

__published: 
};
</code></pre>
<p>if(IVMyOnClick)-&gt; dann das Event über den Funktionszeiger aufrufen.<br />
if(IVMyOnClick) verstehe ich nicht.</p>
<pre><code class="language-cpp">public:   void __fastcall MyClick(int X,int Y)//(3) 
    { 
      if(IVMyOnClick)IVMyOnClick(this,X,Y) ;//(4) 
    }
</code></pre>
<p>Hätte nur etwas weiterlesen müssen, if(IVMyOnClick) Funktion wird nur über den<br />
Funktionszeiger &quot;IVMyOnClick&quot; aufgerufen wenn der Eigenschaft ein Funktions-<br />
zeiger zugewiesen wurde. Sonst hat der Zeiger NULL und der Aufruf erfolgt nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/804322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/804322</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Tue, 07 Jun 2005 13:35:36 GMT</pubDate></item><item><title><![CDATA[Reply to Events on Tue, 07 Jun 2005 16:32:28 GMT]]></title><description><![CDATA[<p>Nächstes Mal bitte auf eine aussagekräftige Überschrift achten. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/804509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/804509</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Tue, 07 Jun 2005 16:32:28 GMT</pubDate></item></channel></rss>