Einzelnen Beitrag anzeigen

josef-b

Registriert seit: 6. Jun 2004
Ort: bei Jena in Thüringen
95 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Neue Komponente entwickeln

  Alt 24. Aug 2017, 14:12
Danke erstmal für Eure Antworten.

Es geht darum, eine Visualisierung für eine Anlagensteuerung zu entwickeln.

Dazu habe ich mir überlegt, ich baue mir für die einzelnen Bestandteile, von jeder Art
gibt es auch mehrere einzelne visuelle Komponenten...

z.B.

Silo, Förderband, Siebmaschine, Elevator usw...

so ein Bildchen habe ich mir mal auf einer Form gebastelt...(Anhang)


Dieses grafische/technische Element soll dann ein paar Eigenschaften haben, wie
z.B. LeerMeldung, Vollmeldung (Die LEDS in dem Bildchen z.B. sollen dann verschiedene
Farben zur Laufzeit erhalten.

Ich möchte auch gerne die Größe des gesamten Bildchens zur Entwurfszeit verändern können,
z.B. ungefähr an die masstabsgetreue Länge eines Förderbandes anpassen, oder die Höhe eines
Elevators..

so ein Bildchen habe ich mir mal auf einer Form gebastelt...

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
var edit1 : tedit;
Silo: tshape;
VollMelder: tshape;
LeerMelder: tshape;
begin
Silo := tshape.create(self);
with silo do
  begin
  Parent := form1;
  width := 90;
  height := 200;
  brush.color := clmoneygreen;
  shape := strectangle;
  visible := true;
  end;

VollMelder := tshape.create(self);
with Vollmelder do
  begin
  Parent := form1;
  width := 20;
  height := 20;
  top := 20;
  left := 35;
  brush.color := clred;
  shape := stCircle;
  visible := true;
  end;

LeerMelder := tshape.create(self);
with LeerMelder do
  begin
  Parent := form1;
  width := 20;
  height := 20;
  top := 160;
  left := 35;
  brush.color := clyellow;
  shape := stCircle;
  visible := true;
  end;


with form1.canvas do
  begin
  moveto (0,200);
  lineto (45,270);
  lineto (90,200);
  lineto (0,200);
  brush.color := clmoneygreen;
  floodfill(50,210,clblack,fsborder);
  end;

end;

Kann ich das so ähnlich auf eine Komponente übertragen, so dass ich dann das ganze Bildchen
auf der Form habe, wenn ich die Komponente neu aus der Tool-Palette auf die Form schiebe?

Kann ich als Grundlage für die Vererbung ein Panel nehmen und dann die einzelnen Elemente auf
das Panel packen? Oder muss ich das bei der Komponentenentwicklung komplett mit Canvas einzeln
zeichnen? Dann auf eine Paintbox?

Wovon leite ich das ab? TPanel, TPaintbox, Nehme ich dann TPanel oder TPaintbox als Container?

Einfach gesagt, ich bräuchte mal ne grobe Anleitung wie man sowas am besten macht, ich sehe glaub
ich vor lauter Bäumen den Wald nicht mehr
Miniaturansicht angehängter Grafiken
silo.jpg  
  Mit Zitat antworten Zitat