AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TChart und Marks aus Gallerie

Ein Thema von Sidi61 · begonnen am 9. Mai 2016 · letzter Beitrag vom 10. Mai 2016
Antwort Antwort
Seite 1 von 2  1 2      
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#1

TChart und Marks aus Gallerie

  Alt 9. Mai 2016, 16:02
Hallo zusammen,

suche mir schon einen Wolf ab um die Balkenbeschriftungen bei zur Laufzeit erzeugten Series anders als Default darzustellen.

Im Chart-Editor kann man in einer Gallerie verschiedene Styles aussuchen, dies ist mir leider zur Laufzeit noch nicht gelungen.

Ich verwende die kostenlose lite Version von TChart, im Editor findet man die Styles Default, Business, Cream, Ocean, Dark, Hot und Wine - gibt es eine Möglichkeit eine Zuweisung zur Laufzeit zu machen??

Liebe Grüße
Sidi61
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: TChart und Marks aus Gallerie

  Alt 9. Mai 2016, 16:45
Ich gehe mal davon aus dass du VCL und nicht FMX meinst, oder?

Ein Tipp: Wenn du nicht weißt wo du ansetzen musst, schau doch mal in die DFM-Datei (auf der Formular-Ansicht [Alt]+[F12] drücken). Stellt man die Marks z.B. auf das Template "Hot" um erhält man in der DFM:
Delphi-Quellcode:
    object Series1: TBarSeries
      Marks.Brush.Gradient.Colors = <
        item
          Color = clRed
        end
        item
          Color = 819443
          Offset = 0.067915690866510540
        end
        item
          Color = clYellow
          Offset = 1.000000000000000000
        end>
      Marks.Brush.Gradient.Direction = gdTopBottom
      Marks.Brush.Gradient.EndColor = clYellow
      Marks.Brush.Gradient.MidColor = 819443
      Marks.Brush.Gradient.StartColor = clRed
      Marks.Brush.Gradient.Visible = True
      Marks.Font.Color = 159
      Marks.Font.Name = 'Tahoma'
      Marks.Font.Style = [fsBold, fsItalic]
      Marks.Frame.Color = 33023
      Marks.RoundSize = 14
      XValues.Name = 'X'
      XValues.Order = loAscending
      YValues.Name = 'Bar'
      YValues.Order = loNone
    end

Zur Laufzeit also bspw. so:
Delphi-Quellcode:
procedure TForm7.Button1Click(Sender: TObject);
var
  gradientColors: TTeeGradientColors;
begin
  Series1.Marks.Font.Color := TColors.White;

  gradientColors := Series1.Marks.Gradient.Colors;
  gradientColors.BeginUpdate();
  try
    gradientColors.Clear();
    gradientColors.Add(0.0, TColors.Blue);
    gradientColors.Add(1.0, TColors.Red);
  finally
    gradientColors.EndUpdate();
  end;
end;
  Mit Zitat antworten Zitat
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#3

AW: TChart und Marks aus Gallerie

  Alt 9. Mai 2016, 23:36
Hallo,

dein Vorschlag ließ sich leider nicht umsetzen - sorry -

Gruß
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: TChart und Marks aus Gallerie

  Alt 10. Mai 2016, 07:16
Kannst du auch ... etwas genauer werden?
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TChart und Marks aus Gallerie

  Alt 10. Mai 2016, 10:48
Hallo,

dein Vorschlag ließ sich leider nicht umsetzen - sorry -

Gruß
Solche Antworten gehören echt prämiert
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#6

AW: TChart und Marks aus Gallerie

  Alt 10. Mai 2016, 11:33
hallo zusammen,

war da wohl ein wenig schnell bin gerade am experimentieren wie TChart angesteuert werden kann, bei der Übernahme des Codes von Günther wurde angezeigt das er TTeeGradientColors nicht kennt und ich wusste mal eben nicht was ich hier in die uses aufnehmen muss.

Meine Fortschritte sind für den geplanten Zweck schon fast ausreichend, es fehlt mir lediglich noch die Gestaltung der Balkenbeschriftung, das habe ich immer noch nicht hinbekommen und wie gesagt bei dem Beispiel von Günther fehlt mir noch der Hinweis was ich in die uses aufnehmen muss.

Hier mal ein Beispiel wie ich TChart bis jetzt befülle:

Delphi-Quellcode:

procedure TFormKunden.Button1Click(Sender: TObject);
var i : integer;
    BS1, BS2 : TBarSeries;
begin

  chart1.ClearChart;
  BS1 := TBarSeries.Create(self);
  BS1.ParentChart := Chart1;
  BS1.Active := false;
  BS1.SeriesColor := clBlue;
  BS1.Title := 'Umsatz';
  //BS1.Marks.Style := smsValue;
  BS1.Marks.Callout.ArrowHead := ahsolid; //zeichnet einen Pfeil von der Beschriftung zum Balken
  Chart1.AddSeries(BS1);

  BS2 := TBarSeries.Create(self);
  BS2.ParentChart := Chart1;
  BS2.Active := false;
  BS2.SeriesColor := clRed;
  BS2.Title := 'Vorgänge';
  Chart1.AddSeries(BS2);

  Chart1.Series[0].AddXY(1,20,'',clTeeColor);
  Chart1.Series[0].AddXY(2,25,'',clTeeColor);
  Chart1.Series[0].AddXY(3,15,'',clTeeColor);
  Chart1.Series[0].AddXY(4,30,'',clTeeColor);
  Chart1.Series[0].AddXY(5,25,'',clTeeColor);
  Chart1.Series[0].AddXY(6,20,'',clTeeColor);
  Chart1.Series[0].AddXY(7,25,'',clTeeColor);
  Chart1.Series[0].AddXY(8,22,'',clTeeColor);
  Chart1.Series[0].AddXY(9,28,'',clTeeColor);
  Chart1.Series[0].AddXY(10,21,'',clTeeColor);
  Chart1.Series[0].AddXY(11,18,'',clTeeColor);
  Chart1.Series[0].AddXY(12,15,'',clTeeColor);

  Chart1.Series[1].AddXY(1,3,'',clTeeColor);
  Chart1.Series[1].AddXY(2,5,'',clTeeColor);
  Chart1.Series[1].AddXY(3,8,'',clTeeColor);
  Chart1.Series[1].AddXY(4,7,'',clTeeColor);
  Chart1.Series[1].AddXY(5,2,'',clTeeColor);
  Chart1.Series[1].AddXY(6,6,'',clTeeColor);
  Chart1.Series[1].AddXY(7,5,'',clTeeColor);
  Chart1.Series[1].AddXY(8,7,'',clTeeColor);
  Chart1.Series[1].AddXY(9,6,'',clTeeColor);
  Chart1.Series[1].AddXY(10,10,'',clTeeColor);
  Chart1.Series[1].AddXY(11,9,'',clTeeColor);
  Chart1.Series[1].AddXY(12,11,'',clTeeColor);

  chart1.Legend.Alignment := laBottom;

  BS1.Active := true;
  BS2.Active := true;
end;
Wäre schön wenn ich das Problem noch gelöst bekommen würde

Gruße
Sidi61
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: TChart und Marks aus Gallerie

  Alt 10. Mai 2016, 11:39
bei dem Beispiel von Günther fehlt mir noch der Hinweis was ich in die uses aufnehmen muss.
implementation uses System.UITypes, VclTee.TeCanvas;
  Mit Zitat antworten Zitat
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#8

AW: TChart und Marks aus Gallerie

  Alt 10. Mai 2016, 11:57
Hallo Günther,

habe dein Beispiel nun nochmal ausprobiert, die Markierungen blieben vom Style her gleich, nur jetzt fehlen die Beschriftungen - im Anhang ein Screenshot

Gruß
Sidi61
Miniaturansicht angehängter Grafiken
tchart1.jpg  
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: TChart und Marks aus Gallerie

  Alt 10. Mai 2016, 12:46
Du hast Recht, es ist ein Stolperstein: Es hat null Auswirkungen am Gradienten herumzuspielen, wenn der Gradient nicht Visible ist. Das war er in meinem Test da ich es zum Spaß auf "Hot" gestellt hatte. Du anscheinend nicht. Deshalb musst du vorher noch Series1.Marks.Gradient.Visible := True setzen.

Das sieht dann so aus wie im Anhang.
Miniaturansicht angehängter Grafiken
gradienttest.png  
  Mit Zitat antworten Zitat
Sidi61

Registriert seit: 13. Jun 2006
97 Beiträge
 
Delphi XE5 Professional
 
#10

AW: TChart und Marks aus Gallerie

  Alt 10. Mai 2016, 14:16
Hallo Günther,

jetzt hat es tatsächlich funktioniert, das Design der Balkenbeschriftung sieht tatsächlich aus wie in der Gallerie unter Hot auswählbar.

Allerdings muss ich zugeben dass ich ausgehend vom Code in der DFM Datei niemals auf den ausführbaren Code im Beispiel gekommen wäre.

Werde das mal mit den anderen Vorlagen versuchen, hab da jedoch wenig Hoffnung

Auf jeden Fall besten Dank für deine Unterstützung

Gruß
Sidi61
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:48 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