<?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[In einer neuen Komponete eine Image Komponete benutzen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mir eine Komponenete von TComponent abgeleitet und eine Image Komponente zur Laufzeit im Konstruktor erstellt.<br />
Diese wird aber nicht sichtbar.</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
class PACKAGE TDiagramm : public TComponent
{
private:
	TImage* Image;
protected:
public:
	__fastcall TDiagramm(TComponent* Owner);
__published:
};
</code></pre>
<pre><code class="language-cpp">static inline void ValidCtrCheck(TDiagramm *)
{
	new TDiagramm(NULL);
}
//---------------------------------------------------------------------------
__fastcall TDiagramm::TDiagramm(TComponent* Owner)
	: TComponent(Owner)
{
	Image = new TImage((TForm*)Owner);   //Welchen Zeiger muss ich übergeben?
     Image-&gt;Width = 100;
     Image-&gt;Height = 100;
	Image-&gt;Canvas-&gt;Brush-&gt;Color = clBlack;
     Image-&gt;Canvas-&gt;FillRect(Rect(0,0,Image-&gt;Width,Image-&gt;Height));
     Image-&gt;Visible = true;
}
//---------------------------------------------------------------------------
namespace Diagramm
{
	void __fastcall PACKAGE Register()
	{
		TComponentClass classes[1] = {__classid(TDiagramm)};
		RegisterComponents(&quot;Standard&quot;, classes, 0);
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/114989/in-einer-neuen-komponete-eine-image-komponete-benutzen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 04:27:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/114989.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 Jul 2005 09:23:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Sun, 10 Jul 2005 09:23:30 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mir eine Komponenete von TComponent abgeleitet und eine Image Komponente zur Laufzeit im Konstruktor erstellt.<br />
Diese wird aber nicht sichtbar.</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
class PACKAGE TDiagramm : public TComponent
{
private:
	TImage* Image;
protected:
public:
	__fastcall TDiagramm(TComponent* Owner);
__published:
};
</code></pre>
<pre><code class="language-cpp">static inline void ValidCtrCheck(TDiagramm *)
{
	new TDiagramm(NULL);
}
//---------------------------------------------------------------------------
__fastcall TDiagramm::TDiagramm(TComponent* Owner)
	: TComponent(Owner)
{
	Image = new TImage((TForm*)Owner);   //Welchen Zeiger muss ich übergeben?
     Image-&gt;Width = 100;
     Image-&gt;Height = 100;
	Image-&gt;Canvas-&gt;Brush-&gt;Color = clBlack;
     Image-&gt;Canvas-&gt;FillRect(Rect(0,0,Image-&gt;Width,Image-&gt;Height));
     Image-&gt;Visible = true;
}
//---------------------------------------------------------------------------
namespace Diagramm
{
	void __fastcall PACKAGE Register()
	{
		TComponentClass classes[1] = {__classid(TDiagramm)};
		RegisterComponents(&quot;Standard&quot;, classes, 0);
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/827629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/827629</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Sun, 10 Jul 2005 09:23:30 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Sun, 10 Jul 2005 09:38:48 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>du must ja auch noch Parent zuweisen</p>
<pre><code class="language-cpp">Image = new TImage(Owner);
Image-&gt;Parent = Parent;
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/827639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/827639</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 10 Jul 2005 09:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Sun, 10 Jul 2005 09:42:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>richtig habe ich gerade auch schon drüber nachgedacht.</p>
<p>Danke für Deine Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/827642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/827642</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Sun, 10 Jul 2005 09:42:50 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Sun, 10 Jul 2005 10:07:19 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">//---------------------------------------------------------------------------
__fastcall TDiagramm::TDiagramm(TComponent* Owner)
	: TComponent(Owner)
{
	Image = new TImage(Owner);
     Image-&gt;Parent = ((TForm*)Owner)-&gt;Parent;
     Image-&gt;Width = 100;
     Image-&gt;Height = 100;
	Image-&gt;Canvas-&gt;Brush-&gt;Color = clBlack;
     Image-&gt;Canvas-&gt;FillRect(Rect(0,0,Image-&gt;Width,Image-&gt;Height));
     Image-&gt;Visible = true;

}
</code></pre>
<p>Hier kann Parent aber immer nur vom Typ TForm sein, ich möchte aber für die Komponenete als Parent eine GroupBox haben. Versuche ich meine Komponente<br />
in eine GroupBox zu setzen erscheint das Image oben links in der Form<br />
und nicht in der GroupBox.<br />
Wie kann ich die Komponente am besten testen, öffne ich den Builder zweimal<br />
mit der zu testenden Komponenete, kann ich die Komponente nicht mehr erzeugen.<br />
Fehler :&quot;Programm still running&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/827650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/827650</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Sun, 10 Jul 2005 10:07:19 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Sun, 10 Jul 2005 10:08:47 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dan must du für TDiagramm eine Eigenschaft vom Typ TWinControl erstellen, die du den gewünschten parent zuweisen kannst. Diesen gibts du dann über den Setter an das Image weiter.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/827654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/827654</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 10 Jul 2005 10:08:47 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Sun, 10 Jul 2005 10:41:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;SysUtils.hpp&gt;
#include &lt;Controls.hpp&gt;
#include &lt;Classes.hpp&gt;
#include &lt;Forms.hpp&gt;
class PACKAGE TDiagramm : public TComponent
{
private:
	TImage* Image;
     unsigned short VSampleTime;
     TWinControll VParent;    	//Instanz vom Typ TWinControll erzeugen
protected:
public:
	void __fastcall Paint();
	__fastcall TDiagramm(TComponent* Owner);
__published:
	__property TWinControll Parent={read  VParent,write=VParent};  //und die Property dazu
     __property unsigned short SampleTime ={read=VSampleTime,write=VSampleTime};

};
</code></pre>
<p>Meinst du es so, funktioniert nicht kennt den Typen nicht muss ich noch einen<br />
Header includieren?<br />
Oder kann ich nicht besser gleich von TWinControll ableiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/827673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/827673</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Sun, 10 Jul 2005 10:41:31 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Sun, 10 Jul 2005 10:46:40 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich seh da auf anhieb mal ein paar Probleme :</p>
<pre><code class="language-cpp">#include &lt;SysUtils.hpp&gt;
#include &lt;Controls.hpp&gt;
#include &lt;Classes.hpp&gt;
#include &lt;Forms.hpp&gt;
class PACKAGE TDiagramm : public TComponent
{
private:
	TImage* Image;
     unsigned short VSampleTime;
     TWinControll *VParent;    	// Du brauchst einen Zeiger auf eine Instanz

     void __fastcall SetParent(TWinControl *NewParent); // Setter

protected:
public:
	void __fastcall Paint();
	__fastcall TDiagramm(TComponent* Owner);
__published:
	__property TWinControl *Parent={read = VParent,write=SetParent};  //wieder Pointer und fehlendes IstGleich, TWinControl falsch geschrieben
     __property unsigned short SampleTime ={read=VSampleTime,write=VSampleTime};

};
</code></pre>
<p>und dazu in der Implementation</p>
<pre><code class="language-cpp">void __fastcall TDiagramm::SetParent(TWinControl *NewParent)
{
  if (Image) Image-&gt;Parent = NewParent;
  VParent = NewParent;
  }

// Im Konstruktor noch hinzufügen
  VParent = NULL;
</code></pre>
<p>/Edit : Ich würde die Eigenschaft auch nicht nur Parent nennen, damit es nicht mit dem Parent von echten Controls verwechselt wird.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/827682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/827682</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 10 Jul 2005 10:46:40 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Sun, 10 Jul 2005 11:06:13 GMT]]></title><description><![CDATA[<p>Alles klar, danke für das Beispiel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/827690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/827690</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Sun, 10 Jul 2005 11:06:13 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Mon, 25 Jul 2005 11:29:37 GMT]]></title><description><![CDATA[<p>Warum funktioniert die Zuweisung des Parent für Image hier nicht.</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
__fastcall TDiagramm::TDiagramm(TComponent* Owner)
	: TComponent(Owner)
{
     Image    = new TImage(this);
     Image-&gt;Parent = ((TWinControl*)Owner)-&gt;Parent;  //Parent des aufrufenden Objects
     Image-&gt;Visible = true;
     Image-&gt;Canvas-&gt;Brush-&gt;Color = clBlack;
     Image-&gt;Width = 100;
     Image-&gt;Height = 100;
     Image-&gt;Canvas-&gt;FillRect(Rect(0,0,100,100));
}
</code></pre>
<p>Object erzeugen</p>
<pre><code class="language-cpp">__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
	Diagramm = new TDiagramm(this);    //Object erzeugen
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/838093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/838093</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Mon, 25 Jul 2005 11:29:37 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Mon, 25 Jul 2005 13:20:55 GMT]]></title><description><![CDATA[<p>Manchmal treibt man ein Blödsinn, es muss natürlich heißen</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
__fastcall TDiagramm::TDiagramm(TComponent* Owner)
    : TComponent(Owner)
{
     Image    = new TImage(this);
     Image-&gt;Parent = (TWinControl*)Owner;  //Parent des aufrufenden Objects
     Image-&gt;Canvas-&gt;Brush-&gt;Color = clBlack;
     Image-&gt;Width = 100;
     Image-&gt;Height = 100;
     Image-&gt;Canvas-&gt;FillRect(Rect(0,0,100,100));
}
</code></pre>
<p>dann gehts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/838277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/838277</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Mon, 25 Jul 2005 13:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Mon, 25 Jul 2005 17:21:53 GMT]]></title><description><![CDATA[<p>zum Testen:</p>
<p>ich öffne immer erst ein Testprojekt und dann die bpk Datei. Du musst aber darauf<br />
achten im Testprojekt immer etwas zu ändern bevor du es neu startest, sonst<br />
wird nicht die aktuelle Version deines Steuerelements eingebunden. also<br />
am einfachsten auf der Form etwas verschieben.</p>
<p>100% klappt das aber leider wohl nicht immer. Ich habe eine grössere Ansammlung<br />
von Steuerelementen. Wenn ich die neu kompiliere während ein anderes Projekt offen<br />
ist, dann bekomm ich vom Kompiler einen Zugriffsfehler (Schutzverletzung)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/838495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/838495</guid><dc:creator><![CDATA[Acidmrp]]></dc:creator><pubDate>Mon, 25 Jul 2005 17:21:53 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Tue, 09 Aug 2005 19:49:24 GMT]]></title><description><![CDATA[<p>hey...ich hab nur diesen thread gefunden.</p>
<p>Wie benutze ich diese TImage. Wie immer werde ich aus der BCB Hilfe wieder nicht schlau...Ich will ein hintergrundbild für mein Programm <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>
<p>Danke für euer hilfe ich mag euch alle schon jetzt <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/848953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848953</guid><dc:creator><![CDATA[JuanPabloIssa]]></dc:creator><pubDate>Tue, 09 Aug 2005 19:49:24 GMT</pubDate></item><item><title><![CDATA[Reply to In einer neuen Komponete eine Image Komponete benutzen on Wed, 10 Aug 2005 08:10:01 GMT]]></title><description><![CDATA[<p>ok ok ich habs gefunden <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="🙂"
    /> war doch einfacher als ich dachte hihihih</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849130</guid><dc:creator><![CDATA[JuanPabloIssa]]></dc:creator><pubDate>Wed, 10 Aug 2005 08:10:01 GMT</pubDate></item></channel></rss>