Das stimmt, es ist einfacher wenn ich von vorrein weiß wie die objekte aussehen und welche ich haben. um sie zu verwalten. Von
UML habe ich schon mal gehört aber noch nicht mit gearbeitet.
Aber aus deinen diagramm leitet ich folgendes ab:
alle komponenten sind von IContainer abgeleitet. Alle komponenten die sichtbar sein soll werden von TVisibleBaseClass abgeleitet der button scheint von TContainableBaseClass abgeleitet zu sein.
d.h. es muss dann noch eine zweite TVisibleBaseClass gebebn die dann z.b. andre funktionen bereit stellt wie z.b. gruppenbarsit. die einen brauchen diese klassen die anderen wiederum diese und soweiter.
ich habe mir meine
gui in entwar so vorgestellt:
das fenster soll ein einfaches Rechteck sein wo oben eine line gezeichnet wird als titel so ca 10(y) pixel unter dem anfang vom Rechteck.
das soll der header sein, der jeder kompoenten haben sollte.
genauso wie die Scrollbalken das sind alles weiter komponenten die überalle eingesetzt werden sollen.
Der Buttonsoll ersteinmal ein rechteck sein mit einen Text drin mehr nicht.später soll der erweiter werden.
Schritweise vorzugehen ist warscheinlich das besten. D.H. Wie sollen die 3 ersten komponenten aussehn.
Was du mit deiner Welt beschrieben hast meine ich jetzt. Das ich erst die komponenten erstelle und dann versuche sie zu verwalten.
gut. was haben ein Button, ein Label, ein fenster gemeinsamm und was nicht ?
zum Zeichnen eine procedure
zum Löschen der Komponente eine procedure
zum updaten eine Komponenten
variabeln z.b. Name, Caption, x,y,w,h,tag, taborder,visible,Autosize,Image,Form(z.b. rund, eckig)
TMyStyl(für das aussehen der komponente, z.b hintergrund/vordergrund farbe, schriftart, bitmapfont und soweiter)
wobei das fenster noch VisibleScollbalken, VisibleTitel haben sollte
aber wie sollte das am besten defniniert werden ?
Delphi-Quellcode:
tStdObj1 = class
private
fCaption, fName:String
fx,fy,fw,fh,ftag,ftaborder:Integer;
public;
property Caption
property name
property x
property y
property w
property h
property Tag
property Taborder
end;
und bei der zweiten klasse sollte statt caption dann text stehen. nur wie speicher ich dann sowas. Währe hier ein interface praktisch ? von den beide klassen abgeleitet werden ? oder soll caption und text ersteinaml in andren klassen defniert werden ?