Hi,
Zitat von
mkinzler:
Und wenn würde ich einen internen Canvas mit dem externen koppeln
und was dat des jetz konkret bedeuten?
Zitat von
shmia:
Wenn du jetzt also eine Komponente bauen möchtest, die einen externen Canvas benötigt,
dann liegt hier eigentlich schon ein Designfehler vor.
Also ich könnte das ganze natürlich auch in Komponente 1 packen, hab mir aber gedacht es wäre schöner, die Zeichen-Funktionen in eine extra Komponente zu packen, um das Ganze übersichtlicher und flexibler zu gestalten. Dann bräuchte Komponente 2 nur ein Canvas als Property auf das es zeichnen soll...
Zitat von
shmia:
Denn mit dem Canvas allein ist es ja nicht getan. Die Komponente müsste zusätzlich wissen, wie gross die Zeichenfläche ist.
Bei Controls kann dieses Problem gar nicht auftreten; ein Control weiss immer wie gross sein eigener Canvas ist.
Sorry, hab vergessen, das noch dazu zu sagen - die Maße vom Bitmap sind auch als Propertys in Komponente 2 vorhanden.
Um das ganze vielleicht durchschaubarer zu machen, muss ich glaub ich dich noch erwähnen, was ich eigentlich machen will
:
ich möchte eine Komponente entwickeln, auf der Funktionen ausgegeben werden sollen, also ein Graph.
Dazu möchte ich dieser Komponente, nennen wir sie TGraph (-> Komponente 1), eine Komponente TKoordinatenSystem (Komponente 2), sowie eine PaintBox zuweisen.
Da PaintBox ja seine Grafik nicht speichert, muss ich noch eine Variable Bild vom Typ TBitmap einführen. So.
TKoordinatenSystem soll jetzt ein KoordinatenSystem mit bestimmten Parametern auf das Bitmap zeichnen.
Außerdem zeichnet dann noch eine weitere Komponente die Funktionen auf das Bitmap, diese ist jetzt aber uninteressant. Jetzt muss nur noch das Bitmap auf TPaintBox gezeichnet werden (und bei jedem Paint-Ereignis) - und fertig! (oder nicht?)
bis dann,
heiopei