<?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[Paint Methode von TButton Überschreiben]]></title><description><![CDATA[<p>Hallo.<br />
Ich versuche gerade das Erscheinungsbild meines Buttons zu ändern.<br />
Ich würde gern die Paint-Methode überschreiben.<br />
So jetzt ist mein erster Ansatz:<br />
Eine eigen Klasse von TCustomButtonControl ableiten die Paint-Methode überschreiben und fertig <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="🙂"
    /><br />
Leider gehts aber so net. Da er eine Methode namens &quot;TextOutA(...)&quot; nicht findet.<br />
Wie würds den richtig gehn?<br />
Gruß KY</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184740/paint-methode-von-tbutton-überschreiben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 06:41:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184740.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Jun 2007 17:49:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Mon, 18 Jun 2007 17:49:01 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Ich versuche gerade das Erscheinungsbild meines Buttons zu ändern.<br />
Ich würde gern die Paint-Methode überschreiben.<br />
So jetzt ist mein erster Ansatz:<br />
Eine eigen Klasse von TCustomButtonControl ableiten die Paint-Methode überschreiben und fertig <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="🙂"
    /><br />
Leider gehts aber so net. Da er eine Methode namens &quot;TextOutA(...)&quot; nicht findet.<br />
Wie würds den richtig gehn?<br />
Gruß KY</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308593</guid><dc:creator><![CDATA[ky_fr34k]]></dc:creator><pubDate>Mon, 18 Jun 2007 17:49:01 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Mon, 18 Jun 2007 17:59:43 GMT]]></title><description><![CDATA[<p>Code zeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308606</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Mon, 18 Jun 2007 17:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Mon, 18 Jun 2007 18:43:43 GMT]]></title><description><![CDATA[<p>also meine Klasse sieht so aus:</p>
<pre><code>class THeadButton : public TCustomButtonControl
{
  private:

  public:
    THeadButton(TComponent * owner, TWinControl * parent):TCustomButtonControl(owner){};
    void __fastcall Repaint();
};
</code></pre>
<p>Hier wird se erzeugt:</p>
<pre><code>void __fastcall TForm1::FormCreate(TObject *Sender)
{
  close = new THeadButton(this,this);
  close-&gt;SetBounds(10,10,100,100);
}
</code></pre>
<p>Jetzt kommt volgende Fehlermeldung:</p>
<blockquote>
<p>[Linker Fehler] Unresolved external '__fastcall Actnctrls::TCustomButtonControl::DrawTextA(Types::TRect&amp;, unsigned int&amp;, System::AnsiString)' referenced from ...\HEADBUTTON\UNIT1.OBJ</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1308627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308627</guid><dc:creator><![CDATA[ky_fr34k]]></dc:creator><pubDate>Mon, 18 Jun 2007 18:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Tue, 19 Jun 2007 08:48:44 GMT]]></title><description><![CDATA[<p>DrawText ist eine Methode der Klasse TCanvas, also mußt du Canvas-&gt;DrawText() aufrufen.</p>
<p>P.S: Das A hintendran wird durch die defines in der window.h erzeugt (und kann man vernachlässigen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308888</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Tue, 19 Jun 2007 08:48:44 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Tue, 19 Jun 2007 15:55:30 GMT]]></title><description><![CDATA[<p>ich ruf aber DrawText(...) gar nirgends auf.<br />
Ich würde ja gern nur des Aussehen der Buttons ändern!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309252</guid><dc:creator><![CDATA[ky_fr34k]]></dc:creator><pubDate>Tue, 19 Jun 2007 15:55:30 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Tue, 19 Jun 2007 16:46:04 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Am einfachsten geht die ganze Sache doch über : Komponente -&gt; Neue Komponente<br />
Dann den Vorfahrtyp angeben. Das Ganze sieht dann so aus :</p>
<p><strong>Header :</strong></p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#ifndef Button1H
#define Button1H
//---------------------------------------------------------------------------
#include &lt;SysUtils.hpp&gt;
#include &lt;Classes.hpp&gt;
#include &lt;Controls.hpp&gt;
#include &lt;StdCtrls.hpp&gt;
//---------------------------------------------------------------------------
class PACKAGE TButton1 : public TButton
{
private:
protected:
public:
        __fastcall TButton1(TComponent* Owner);
__published:
};
//---------------------------------------------------------------------------
#endif
</code></pre>
<p><strong>CPP-Datei :</strong></p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include &lt;vcl.h&gt;

#pragma hdrstop

#include &quot;Button1.h&quot;
#pragma package(smart_init)
//---------------------------------------------------------------------------
// Mit ValidCtrCheck wird sichergestellt, daß die erzeugten Komponenten
// keine rein virtuellen Funktionen besitzen.
//

static inline void ValidCtrCheck(TButton1 *)
{
        new TButton1(NULL);
}
//---------------------------------------------------------------------------
__fastcall TButton1::TButton1(TComponent* Owner)
        : TButton(Owner)
{
}
//---------------------------------------------------------------------------
namespace Button1
{
        void __fastcall PACKAGE Register()
        {
                 TComponentClass classes[1] = {__classid(TButton1)};
                 RegisterComponents(&quot;Beispiele&quot;, classes, 0);
        }
}
//---------------------------------------------------------------------------
</code></pre>
<p>Wird das Ganze jetzt compiliert, dann hast Du erstmal einen normalen TButton.<br />
Nun kannst Du alle benötigten Funktionen überschreiben wenn Du willst.<br />
Mit der Paint-Methode kannst Du das Aussehen verändern.</p>
<p>Nash</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309274</guid><dc:creator><![CDATA[Nash]]></dc:creator><pubDate>Tue, 19 Jun 2007 16:46:04 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Tue, 19 Jun 2007 16:54:38 GMT]]></title><description><![CDATA[<p>Auf WebFritzi's Homepage gibts paar Buttons TBetterButton und TColorButton<br />
kannst ja mal schauen wie er es geschrieben hat</p>
<p><a href="http://www.webfritzi.de.vu/" rel="nofollow">http://www.webfritzi.de.vu/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309277</guid><dc:creator><![CDATA[VergissEs]]></dc:creator><pubDate>Tue, 19 Jun 2007 16:54:38 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Tue, 19 Jun 2007 17:18:32 GMT]]></title><description><![CDATA[<p>Des mit der neuen Komponente hab ich auch schon gemacht, aber ist irgendwie etwas umständlich.<br />
Beim BCB6 kann ich eine Komponente und ein Projekt das meine Komponente nicht gleichzeitig entwickeln.<br />
Des Projekt, des meine Komponente verwendet, muss geschlossen sein.<br />
Und des ist mir zu blöd!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309292</guid><dc:creator><![CDATA[ky_fr34k]]></dc:creator><pubDate>Tue, 19 Jun 2007 17:18:32 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Tue, 19 Jun 2007 17:22:30 GMT]]></title><description><![CDATA[<p>Erzeuge zum testen in deinem Projekt die Kommponente per Code, dann brauchste auch nicht das Projekt schliessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309295</guid><dc:creator><![CDATA[VergissEs]]></dc:creator><pubDate>Tue, 19 Jun 2007 17:22:30 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Tue, 19 Jun 2007 23:55:10 GMT]]></title><description><![CDATA[<p>Des verstehe ich net was du meinst <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/1309509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309509</guid><dc:creator><![CDATA[ky_fr34k]]></dc:creator><pubDate>Tue, 19 Jun 2007 23:55:10 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Wed, 20 Jun 2007 06:05:12 GMT]]></title><description><![CDATA[<p>Du setzt die Komponente per Code auf die Form die ja dann erst zur Laufzeit erstellt wird und nicht mit dem Formdesigner.<br />
Somit blockiert dein Projekt nicht mehr das neu installieren der Komponente falls du Änderungen gemacht hast.</p>
<p>Also so:</p>
<pre><code class="language-cpp">__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
	THeadButton *HButton;

	HButton = new THeadButton(this);

	if (HButton) {
		HButton-&gt;Parent=this;
		HButton-&gt;Left=20;
		HButton-&gt;Top=30;
		HButton-&gt;Width=140;
		HButton-&gt;Height=24;
		HButton-&gt;Caption=&quot;Zur Laufzeit erzeugt&quot;;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1309566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309566</guid><dc:creator><![CDATA[VergissEs]]></dc:creator><pubDate>Wed, 20 Jun 2007 06:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to Paint Methode von TButton Überschreiben on Wed, 20 Jun 2007 14:48:59 GMT]]></title><description><![CDATA[<p>aaahhhh....<br />
natürlich<br />
*brettvormkopfwegschieb*<br />
mach sinn <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="🙂"
    /><br />
vielen dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309991</guid><dc:creator><![CDATA[ky_fr34k]]></dc:creator><pubDate>Wed, 20 Jun 2007 14:48:59 GMT</pubDate></item></channel></rss>