AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Verlaufs Graph in VirtualStringTree Zelle Zeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

Verlaufs Graph in VirtualStringTree Zelle Zeichnen

Ein Thema von Metal_Snake2 · begonnen am 10. Apr 2006 · letzter Beitrag vom 10. Apr 2006
Antwort Antwort
Metal_Snake2

Registriert seit: 19. Nov 2004
134 Beiträge
 
Delphi 7 Personal
 
#1

Verlaufs Graph in VirtualStringTree Zelle Zeichnen

  Alt 10. Apr 2006, 13:43
Morgen,

weis einer villeicht wie ich einen verlaufs graph in eine Zelle zeichnen kann.
Hat jemand villeicht einen beispielcode?
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Verlaufs Graph in VirtualStringTree Zelle Zeichnen

  Alt 10. Apr 2006, 14:10
HI,
kannst du noch etwas genauer sagen, was für dich ein Verlaufsgraph ist?

Und dann käme natürlich hinzu, was hast du dir denn dazu schon überlegt, wo kommst du gerade nicht weiter, etc. (um mal dezent auf die Forenregeln zu verweisen)

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Metal_Snake2

Registriert seit: 19. Nov 2004
134 Beiträge
 
Delphi 7 Personal
 
#3

Re: Verlaufs Graph in VirtualStringTree Zelle Zeichnen

  Alt 10. Apr 2006, 21:06
ja selbstverständlich habe ich mich schon damit beschäftig

Momentan sieht mein ereignis so aus:

Delphi-Quellcode:
procedure TfrmMain.VstBeforeCellPaint(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
  CellRect: TRect);
var
  J,I, PercentageSize, RndPercent: integer;
  ColorStart: Word;
  Data: PTreeData;
  R,G,B: byte;
begin

  J:= 0;

  //SpeedGraph
  if (Column = 4) then
  begin

    Data := Sender.GetNodeData(Node);
    RndPercent:=99;///MEIN EINTRAG : HIER MUSS DER WERT ÜBER DIE RECORD MEM. STRUCTURE ÜBERGEBEN WERDEN

    InflateRect(CellRect, 424, 3);
    Cellrect.Left := Vst.Header.Columns.Items[4].Left;
    DrawEdge(TargetCanvas.Handle, CellRect, BF_FLAT, BF_SOFT or BF_FLAT);
    PercentageSize := (CellRect.Right - CellRect.Left) * RndPercent div 100;

    if True then
    begin

      ColorStart :=ClYellow;

      R:= GetRValue(ColorStart);
      G:= GetGValue(ColorStart);
      B:= GetBValue(ColorStart);


      for I := CellRect.Right downto CellRect.Left do
      begin
        TargetCanvas.Brush.Color := RGB(R,G,B);

        Randomize;
        J := Random(20);
        TargetCanvas.Pen.Color := ClWhite;
        TargetCanvas.MoveTo(j+i,0);
        TargetCanvas.LineTo(1,75);

        if CellRect.Right - CellRect.Left <= PercentageSize then
          TargetCanvas.FillRect(CellRect);
        Dec(CellRect.Right);

        Dec(G);

      end;
    end else
    begin
      CellRect.Right := CellRect.Left + PercentageSize;
      if RndPercent = 100 then
        TargetCanvas.Brush.Color := clRed
      else
        TargetCanvas.Brush.Color := clLime;
      TargetCanvas.FillRect(CellRect);
    end;
  end;

end;
Und das ist dan der graph:
http://img403.imageshack.us/img403/1...llgraph5eh.gif



wie man sieht wird der graph nicht richtig gezeichnet. Also der angang der Graphen wirkt "verzert".
Was man nicht sieht ist dass der Graph komischerweise irgendwie komplett durchgezeichnet wird, also ich möchte performance sparen indem der graph immmer nur so lang ist wie die Spalten breite oder cellenbreite. Ich hätte gerne eine funktion indem ich ich die graph höhe als integerwert eingebe.

Der Graph soll z.B. den Verlaus dder Cpu auslastung darstellen können.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz