, Bildschirm ist nch heile
Delphi-Quellcode:
procedure THixBarGraph.Paint;
var
R : TRect; // Bargraphrechteck vom Typ TRect
i : Integer;
Pos : Integer;
Zahl : Extended;
begin
inherited;
if (Parent = NIL) or not visible
then Exit;
Canvas.Brush.Color := FColor;
Canvas.FillRect(Rect(0, 0, Width, Height)); // Hintergrund des Objektes als Rechteck Zeichnen
case FKind of
sbHorizontal : begin // horizontale Ausrichtung der Komponente
R := Rect(OffsetLower, // Definition des Bereiches des Bargraphrechteckes über P1=(x1;y1) und P2=(x2; y2)
(Height - Barwidth) div 2,
Width - OffsetUpper,
(Height + Barwidth) div 2);
// Skalen zeichnen
case FLabelingStyle of
lbsLines : begin
Canvas.Pen.Color := clBlack;
for i := 0 to round(ValueMax) do
begin
Canvas.MoveTo(round((OffsetLower) + i * LabelingGap), ((Height - Barwidth) div 2 + Barwidth));
Canvas.LineTo(round((OffsetLower) + i * LabelingGap), Height);
Canvas.LineTo(round((OffsetLower) + i * LabelingGap), 0);
end;
end;
lbsLabels : begin
begin
Canvas.TextOut(round(OffsetLower),0, '0,0');
end;
end;
lbsSymmetric : begin
end;
lbsBoth : begin
end;
else
end;
end;
sbVertical : begin // vertikale Ausrichtung der Komponente
R := Rect((Width - BARWIDTH) div 2,
Height - (Height - OffsetUpper),
(Width + BARWIDTH) div 2,
Height - OffsetLower);
case FLabelingStyle of
lbsLines : begin
Canvas.Pen.Color := clBlack;
for i := 0 to round(ValueMax) do
begin
Canvas.MoveTo(Width, round((Height - OffsetLower - 1) - i * LabelingGap));
Canvas.LineTo(0, round((Height - OffsetLower - 1) - i * LabelingGap));
end;
end;
lbsLabels : begin
end;
lbsSymmetric : begin
end;
lbsBoth : begin
end;
else;
end;
end;
end;
Canvas.Brush.Color := FBarColor;
Canvas.FillRect(R);
Frame3D(Canvas, R, clBtnShadow, clBtnHighlight, 1);
end;
ssr Ausschnitt aus dem Grundgerüst...(ja die Formatierung ist grauenhaft)
Bei FLabelingStyle---Labels, will ich nur, dass er an die Komponente meine Zahlen dran schreibt.
Folgendes habe ich bisher probiert:
1. prozedure mit Setter, wie DeddyH es breits vorschlug
2. floatToStrF(), wobei ich damit garnicht zurecht kam mit den Zuweisungen und diese dann Canvas so zu übergeben, dass es vernünftig erzeugt wird...