Von Klasse auf Form zeichnen
-
Hi ich Habe ein Programm mit einer Form. Jetzt habe ich mir eine extra Klasse geschrieben von der ich auf meine Basisform zeichnen will. Jetzt meine Frage dazu: Wie kann ich der Klasse meine Form übergeben, so das ich auf sie zeichnen Kann? ALso ich will nicht einfach Unit1.h einbinden, sonder will es allgemein halten.
-
[cpp]
TMyClass::FormPaint(TForm *****Sender)
{
Sender->Canvas->Rectangle(90,60,60,90);
Sender->Canvas->Rectangle(13,37,08,15);
}//-----
TForm1::Button1Click(...)
{
TMyClass *MyClass=new TMyClass;
MyClass->FormPaint(this);
}
[/cpp]Ok muss doch n Pointer hin...
-
Danke dafür!
Komisch irgendwas klappt bei mir mit der KLasse nicht. Wie erstelle ich denn ne Klasse und binde sie ein im BCB? Ich bin Auf neu gegangen und habe dann CPp-Datei gewählt und dann das reingeschrieben. Was ist da falsch? Wenn ich auf die Variablen der Klasse zureifen will macht er einen Zugriffsfehler.Hier die KLasse:
#include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <vcl.h> class TPanzer { private: //interne Variablen/Objekte TShape *shape; public: //öffentlich Variblen/Objekte int x; int y; //Konstruktor TPanzer() { x = 0; y = 0; } void Show() { shape->Left = x; shape->Top = y; shape->Shape = stRectangle; } };
-
hast du die Klasse im Header erstellt oder in der Unit?
-
Maddinel,
Maddinel schrieb:
Wenn ich auf die Variablen der Klasse zureifen will macht er einen Zugriffsfehler.
es genügt nicht, Objekte nur zu deklarieren:
//interne Variablen/Objekte TShape *shape;Man muß sie auch irgendwo (vorzugsweise im Konstruktor) erzeugen.
-
Und dann solltest du mal in der FAQ den Beitrag ber public-Variablen lesen
