Einzelnen Beitrag anzeigen

Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#17

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 1. Dez 2013, 14:56
, 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...
Christian
  Mit Zitat antworten Zitat