<?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[Komponenten in Funktion übergeben]]></title><description><![CDATA[<p>Hallo bestimmt gabs bzw gibt es dieses Thema schon zu Haufe, aber ich seh bei der Suche nicht ganz durch der findet immer nur einzelne Wörter...<br />
<strong>Zum Problem:</strong></p>
<pre><code class="language-cpp">String css(TObject *Sender,String name)
{  
  string gen_css                      
  byte r,g,b;
  r = GetRValue(Sender-&gt;Font-&gt;Color);  // Farbe filtern
  g = GetGValue(Sender-&gt;Font-&gt;Color);
  b = GetBValue(Sender-&gt;Font-&gt;Color);

  gen_css = &quot;color: #&quot; + IntToHex(r,2)+ IntToHex(g,2)+ IntToHex(b,2)+ &quot;;&quot;;
  return gen_css; 
}
</code></pre>
<p>Das ist nur ein Ausschnitt, das Problem ist natürlich, das der Compiler nun meckert, dass hier &quot;Font&quot; kein Element von &quot;TObject&quot; ist. Ich würde gerne wissen wie ich die Komponenten übergeben kann, es handelt sich hierbei um 2 Memos und 2 Editfeldern. Hintergrund ist die Analyse der Schrift um ein CSS-Klasse zurückzugeben in Form eines Strings (HTML-Editor)</p>
<p>Danke für eure hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174570/komponenten-in-funktion-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 21:43:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174570.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Feb 2007 17:20:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Komponenten in Funktion übergeben on Wed, 28 Feb 2007 17:20:00 GMT]]></title><description><![CDATA[<p>Hallo bestimmt gabs bzw gibt es dieses Thema schon zu Haufe, aber ich seh bei der Suche nicht ganz durch der findet immer nur einzelne Wörter...<br />
<strong>Zum Problem:</strong></p>
<pre><code class="language-cpp">String css(TObject *Sender,String name)
{  
  string gen_css                      
  byte r,g,b;
  r = GetRValue(Sender-&gt;Font-&gt;Color);  // Farbe filtern
  g = GetGValue(Sender-&gt;Font-&gt;Color);
  b = GetBValue(Sender-&gt;Font-&gt;Color);

  gen_css = &quot;color: #&quot; + IntToHex(r,2)+ IntToHex(g,2)+ IntToHex(b,2)+ &quot;;&quot;;
  return gen_css; 
}
</code></pre>
<p>Das ist nur ein Ausschnitt, das Problem ist natürlich, das der Compiler nun meckert, dass hier &quot;Font&quot; kein Element von &quot;TObject&quot; ist. Ich würde gerne wissen wie ich die Komponenten übergeben kann, es handelt sich hierbei um 2 Memos und 2 Editfeldern. Hintergrund ist die Analyse der Schrift um ein CSS-Klasse zurückzugeben in Form eines Strings (HTML-Editor)</p>
<p>Danke für eure hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1236934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236934</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Wed, 28 Feb 2007 17:20:00 GMT</pubDate></item><item><title><![CDATA[Reply to Komponenten in Funktion übergeben on Wed, 28 Feb 2007 17:44:59 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>Ich würde gerne wissen wie ich die Komponenten übergeben kann, es handelt sich hierbei um 2 Memos und 2 Editfeldern</p>
</blockquote>
<p>Wie willst du denn mehrere Komponenten gleichzeitig übergeben?<br />
Du kannst in der Funktion Sender casten. Wenn du nur auch TFont zugreifen willst, reicht es auf TControl zu casten</p>
<pre><code class="language-cpp">String css(TObject *Sender,String name)
{  
  string gen_css                      
  byte r,g,b;
  TControl* control = dynamic_cast&lt;TControl*&gt;(Sender);
  if (!control) return &quot;&quot;; // Kein Control übergeben, abbrechen
  r = GetRValue(Control-&gt;Font-&gt;Color);  // Farbe filtern
  g = GetGValue(Control-&gt;Font-&gt;Color);
  b = GetBValue(Control-&gt;Font-&gt;Color);

  gen_css = &quot;color: #&quot; + IntToHex(r,2)+ IntToHex(g,2)+ IntToHex(b,2)+ &quot;;&quot;;
  return gen_css;
}
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1236967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1236967</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 28 Feb 2007 17:44:59 GMT</pubDate></item><item><title><![CDATA[Reply to Komponenten in Funktion übergeben on Wed, 28 Feb 2007 18:57:44 GMT]]></title><description><![CDATA[<p>Hallo danke für deine schnelle Hilfe, ich habe mit <strong>TControl</strong> mal durchgelesen und eigentlich müsste es funktionieren, aber der Compiler meint:<br />
<em>Zugriff auf TControl::Font nicht möglich</em>, beim genaueren Nachlesen:<br />
<em>Sie versuchen, auf ein Element einer C++ Klasse zuzugreifen, das private oder protected und aus dieser Funktion heraus nicht zugänglich ist.</em></p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237014</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Wed, 28 Feb 2007 18:57:44 GMT</pubDate></item><item><title><![CDATA[Reply to Komponenten in Funktion übergeben on Thu, 01 Mar 2007 08:12:08 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Sorry ich hab nicht dran gedacht das die Property Font erst in den konkreten Arbeitsklassen (TEdit) auf public gesetzt wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Dann bleibt dir nichts anderes übrig als für jeden Controltyp zu testen</p>
<pre><code class="language-cpp">String css(TObject *Sender,String name)
{  
  string gen_css                      
  byte r,g,b;
  TFont* Font = 0;

  TEdit* Edit = dynamic_cast&lt;TEdit*&gt;(Sender);
  if (Edit) Font = Edit-&gt;Font;
  TMemo* Memo = dynamic_cast&lt;TMemo*&gt;(Sender);
  if (Memo) Font = Memo-&gt;Font;

  if (!Font) return &quot;&quot;;

  r = GetRValue(Font-&gt;Color);  // Farbe filtern
  g = GetGValue(Font-&gt;Color);
  b = GetBValue(Font-&gt;Color);

  gen_css = &quot;color: #&quot; + IntToHex(r,2)+ IntToHex(g,2)+ IntToHex(b,2)+ &quot;;&quot;;
  return gen_css;
}
</code></pre>
<p>Das ist natürlich nicht schön, deshalb solltest du dein Konzept überprüfen. Wenn du doch noch vereinbaren kannst das wirklich nur genau ein Controltyp mit dieser Funktion aufgerufen wird, reicht ein einfacher static_cast.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237216</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 01 Mar 2007 08:12:08 GMT</pubDate></item><item><title><![CDATA[Reply to Komponenten in Funktion übergeben on Thu, 01 Mar 2007 17:57:19 GMT]]></title><description><![CDATA[<p>Hey akari vielen vielen Dank das hat mir sehr geholfen und nebenbei ist man ein Stück schlauer geworden :p<br />
Ja das reicht völlig aus, da ich nur jeweils eine Komponente für den CSS-Check übergebe, dabei hätt ich noch eine kleine Frage. Ich finde die Eigenschaft Styles etwas verwirrend aufgebaut, d.h. er speichert mehrere Zustände ab (bold,italic,underline ..) ich weis nicht wie ich die Sachen einzeln abfragen kann ?</p>
<pre><code class="language-cpp">String gcss;                 // CSS Stylesheet
    gcss = name+&quot; {&quot;;
    gcss += &quot; color: #&quot;+IntToHex(r,2)+IntToHex(g,2)+IntToHex(b,2)+&quot;;&quot;;  // Color
    gcss += &quot; font: &quot;+IntToStr(Font-&gt;Size)+&quot;pt&quot;;   // Size
    if (Font-&gt;Style == TFontStyles() &lt;&lt; fsBold &lt;&lt; fsItalic)  // Bold and Italic ?
        gcss += &quot; bold italic&quot;;
    else if (Font-&gt;Style == TFontStyles() &lt;&lt; fsBold)
        gcss += &quot; bold&quot;;
    else if (Font-&gt;Style == TFontStyles() &lt;&lt; fsItalic)
        gcss += &quot; italic&quot;;
    gcss += &quot; &quot;+Font-&gt;Name+&quot;; &quot;;
    if (Font-&gt;Style == TFontStyles() &lt;&lt; fsUnderline)  // Underline ?
        gcss += &quot; text-decoration: underline;&quot;;
    gcss += &quot;}&quot;;
    return gcss;
</code></pre>
<p>Siehe Code, wenn man jetzt z.B. den text unterstreicht, fett und kursiv macht gibt er keine styles dafür aus, da alle 3 Sachen erfüllt sind. Ich hätte es aber gerne einzeln abgefragt da es verschiedene Style-Attribute dafür gibt.</p>
<p>Danke für deine kompetente Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237642</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Thu, 01 Mar 2007 17:57:19 GMT</pubDate></item><item><title><![CDATA[Reply to Komponenten in Funktion übergeben on Thu, 01 Mar 2007 18:39:32 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Wie auch in der Builder-Hilfe zu dem Template Set&lt;..&gt; beschrieben :</p>
<pre><code class="language-cpp">if (Font-&gt;Style.Contains(fsBold))
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237669</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 01 Mar 2007 18:39:32 GMT</pubDate></item><item><title><![CDATA[Reply to Komponenten in Funktion übergeben on Thu, 01 Mar 2007 21:02:15 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> Suppi thx</p>
<p>Darauf wär ich nie gekommen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1237765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1237765</guid><dc:creator><![CDATA[shadowmasta]]></dc:creator><pubDate>Thu, 01 Mar 2007 21:02:15 GMT</pubDate></item></channel></rss>