Autor Beitrag
Laaeris
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17

Win XP
Delphi 7
BeitragVerfasst: Mo 25.01.10 21:35 
Hallo zusammen,

ich habe eine Legende, die im Spiel die Punkte aller Spieler anzeigt. Dies habe ich nun dynamisiert, was auch soweit funktioniert.
Leider verschwinden die Symbole, die auf den Linien erscheinen, nun in der Legende. Bei einer statischen Generierung sind sie da.

Ich habe mir einen abgegoogelt, aber nichts gefunden - auch nicht in diesem Forum. Wie kriege ich die Symbole wieder in die Legende? Platz wird am Anfang jedes Legendeneintrages sogar gelassen.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
  While not DataModul.Macht.EOF do
    Begin (*über alle Mächte*)
          tmpSeries:=TLineSeries.Create(self);
          tmpSeries.ParentChart:=Verwaltung.PunkteChart;
          tmpSeries.Active:=True;
          tmpSeries.ColorEachPoint:=True;
          tmpSeries.Title:=DataModul.Macht.fieldValues['MACHT'];
          tmpseries.SeriesColor:=RGB(DataModul.Macht.fieldValues['REDCOLOR']
                                   ,DataModul.Macht.fieldValues['GREENCOLOR']
                                   ,DataModul.Macht.fieldValues['BLUECOLOR']);
          tmpseries.Pointer.Brush.Style:=bsSolid;
          tmpseries.Pointer.HorizSize:=3;
          tmpseries.Pointer.VertSize:=3;

          (*Pointer.Style is one of psRectangle, psCircle, psTriangle,
            psDownTriangle, psCross, psDiagCross, psStar, psDiamond, or psSmallDot*)

          Case(SeriesCounter MOD 9)OF
            1: tmpseries.Pointer.Style:=psRectangle;
            2: tmpseries.Pointer.Style:=psCircle;
            3: tmpseries.Pointer.Style:=psTriangle;
            4: tmpseries.Pointer.Style:=psDownTriangle;
            5: tmpseries.Pointer.Style:=psCross;
            6: tmpseries.Pointer.Style:=psDiagCross;
            7: tmpseries.Pointer.Style:=psStar;
            8: tmpseries.Pointer.Style:=psDiamond;
            9: tmpseries.Pointer.Style:=psSmallDot;
          End(*Of Case*)

          tmpseries.Pointer.Visible:=TRUE;
          tmpseries.ShowInLegend:=TRUE;
          tmpseries.LinePen.Style:=psDot;
          tmpseries.LinePen.Width:=2;
          DataModul.Geschichte.Active:=TRUE;
          WHILE NOT DataModul.Geschichte.Eof Do
            Begin (*Die Punkte aller Jahre eintragen*)
              tmpSeries.AddXY(DataModul.Geschichte.FieldValues['JAHR']
                              ,DataModul.Geschichte.FieldValues[DataModul.Macht.fieldValues['DATENPFAD']]
                              ,''
                              ,RGB(DataModul.Macht.fieldValues['REDCOLOR']
                                   ,DataModul.Macht.fieldValues['GREENCOLOR']
                                   ,DataModul.Macht.fieldValues['BLUECOLOR'])
                              );

              DataModul.Geschichte.Next;
            End;  (*Die Punkte aller Jahre eintragen*)
          INC(SeriesCounter);
          DataModul.Geschichte.Active:=FALSE;
      DataModul.Macht.Next;
    End;  (*über alle Mächte*)


Bin für jede Antwort dankbar! Ich nutze Delphi 7.

Viele Grüße

David

_________________
Lieber gut machen statt besser wissen.
Laaeris Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17

Win XP
Delphi 7
BeitragVerfasst: Mi 27.01.10 10:51 
...ich habe weiter verzweifelt gesucht, aber keine Lösung gefunden.
Auch die Farbe der Legende für jede Serie hat nichts gebracht. Aus Symbol kann ich nicht zugreifen, ich habe IMHO alle Parameter von Legend und Series ausgetestet. Hat denn niemand auch dieses Problem oder eine Idee für die Lösung?

Es kann doch nicht sein, dass die Serien richtig angezeigt werden (Farbe, Werte, Punkte mit verschiedenen Symbolen), in der Legende jedoch nur in schwarzer Schrift die Serientitel - keine Farben, keine Symbole...

Viele Grüße

David

_________________
Lieber gut machen statt besser wissen.
Laaeris Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17

Win XP
Delphi 7
BeitragVerfasst: Do 04.02.10 14:39 
...es hat lange gedauert, ich habe viele Seiten besucht, aber ich habe das Problem gelöst.
Es liegt an:

tmpSeries.ColorEachPoint:=True;

Dieser Befehl führt, wenn auf TRUE gesetzt, dazu, dass der Punkt und ide Linie in der Legende unsichtbar sind.
Also schön auf FALSE setzen...

Viele Grüße

David

_________________
Lieber gut machen statt besser wissen.