ImageBox an Klasse übergeben
-
Hi ,
so jetzt nochmal so ne Frage. Und zwar: Wie kann ich an eine andere Klasse in meinem Projekt eine Referenz also wahrscheinlich Pointer oder so übergeben, so das ich von der Klasse aus auf die Imagebox zeichnen kann?
-
Machstes halt so wie ich im anderen Thread gesagt hab, also jetzt so:
// IN DER FORM1.H UNTER DIE DEFINITION DEINER TFORM-ABLEITUNG SCHREIBEN class TMyClass { private: public: void FormPaint(TForm *Sender); //Muss doch n Pointer sein... keine Referenz }; // IN DER FORM1.CPP IRGENDWO ZWISCHEN DIE ANDEREN FUNKTIONEN SCHREIBEN void TMyClass::FormPaint(TForm *Sender) { Sender->Canvas->Rectangle(90,60,60,90); } // AUCH IN DER FORM1.CPP IM ONCLICK-EVENT EINES BUTTONS ODER SO, WIE HIER void __fastcall TForm1::Button1Click(TObject *Sender) { TMyClass *MyClass=new TMyClass(); MyClass->FormPaint(this); }In der .H-Datei definierst du die Klasse und die Funktionen bzw. Prozeduren dieser.
In der .CPP-Datei implementierst du diese.
Die Klasse kannst du dann wie beschrieben erzeugen und z.B. eine Funktion aufrufen.
Wenn du jetzt anstatt mit einem Canvas mit einer ImageBox oder so was machen willst, dann musst du halt in der obigen Prozedur (FormPaint) von der Form aus auf die ImageBox zugreifen (Form1->Imagebox1->Blabla();). Ich hoffe du hast das einigermassen verstanden. Falls nicht solltest du dir vielleicht mal ein Tutorial über C++ durchlesen
.
-
DANKE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Er hat in meiner Klasse immer rumgemotzt wegen der Imagekomponente, aber da war einfach nur die vcl.h nicht eingebunden!! Jetzt gehts endlich
vielen Dank!!
-
Is die vcl.h nich normalerweise immer eingebunden?
Naja kein Problem
