AGB  ·  Datenschutz  ·  Impressum  







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

GanttSeries-Elemente einfärben

Ein Thema von luckystar85 · begonnen am 24. Feb 2009 · letzter Beitrag vom 24. Feb 2009
Antwort Antwort
Seite 1 von 2  1 2      
luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#1

GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 09:18
HI,

ich habe in meinem TChart eine TGanttSeries wo ich mehrere Aktion verbunden darstelle. Dazu gibt es daneben aber eine ComboxBox wo alle Aktionen auch noch enthalten sind. Jetzt möchte ich, dass wenn ich in der ComboBox eine Aktion auswähle der entsprechende Balken des GanttSeries farblich eingefärbt wird. Das gleiche habe ich schon im OnClick gemacht wo dann in der ComboBox entsprechenend die Aktion ausgewählt wird.

Delphi-Quellcode:
procedure TActionSchedule.Chart1ClickSeries(Sender: TCustomChart; Series: TChartSeries; ValueIndex: Integer; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Begin
  If ( Assigned(Series) ) Then
    TGanttSeries(Series).ValueColor[ValueIndex] := ( Not ColorToRGB(TGanttSeries(Series).ValueColor[ValueIndex]) ) And $00FFFFFF;
End;
Das funktoniert sowie auch richtig gut, nur habe ich jetzt das Problem wie kann ich im OnChange der ComboBox auf die einzelnen Elemente der GanttSeries zugreifen? Im OnClick auf das Chart bekomm ich das übergeben, aber von außen? Ich habe gesucht und auch die OH befragt, aber keine Lösung gefunden. Habt ihr eine Idee?
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#2

Re: GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 09:25
Du hast doch die Antwort scho selbst mehr oder weniger geliefert.

Hänge an jeden Combobox Eintrag die Referenz zu der dementsprechenden Series.
Wird eins ausgewählt dann ruf deine Methode zum einfärben mit der Referenz der Series als Parameter auf...fettisch.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#3

Re: GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 09:32
Das hatte ich mir auch gedacht mit AddObject das zufüllen, aber leider habe ich keinen Zugriff auf die einzelnen Elemente. Beim Add bekomm ich auch nur den Index zurück, aber ich kann nicht auf die Liste zugreifen (jedenfalls habe keine Möglichkeit gefunden).
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 10:16
Der Index reicht doch für den Zugriff, oder hast du mehrere Gantt-Serien ?
  Mit Zitat antworten Zitat
luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#5

Re: GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 12:39
Nein ich habe nur eine GanttSeries, aber ich habe keinen Zugriff auf die Elemente der GanttSeries (jedenfalls habe ich die entsprechende Property nicht gefunden um darauf zuzugreifen). Wenn es dafür eine Eigenschaft gibt, ist das Problem schnell gelöst. Gibt es denn eine?
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#6

Re: GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 13:27
Wenn ich dein Problem richtig verstanden habe, fehlt Dir der Zugriff auf die Series des Chart. Da kommst Du über TChart.Series[x] dran. Dann kannst Du Dir eine lokale Referenz basteln.
Delphi-Quellcode:
var gs : TGanttSeries;
gs := TGanttSeries(Chart1.Series[i]);
Ist jetzt ungetestet, kann auch sein, dass Du mit as TGanttSeries drankommst.

Grüße, Messie
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 13:33
Oder statt harten eine weichen Cast
gs := (Chart1.Series[i] as TGanttSeries);
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 13:56
Du färbst in deinem Beispiel den Gantt mit ValueColor[ValueIndex] ein, warum machst du das nicht genau so mit dem Index, den du beim Add erhälts ? Also ValueColor[Integer(deine ComboBox.Items[DeineComboBoy.ItemIndex].Objects)] := WasAuchImmer;
  Mit Zitat antworten Zitat
luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#9

Re: GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 14:26
Zitat von mkinzler:
Oder statt harten eine weichen Cast
gs := (Chart1.Series[i] as TGanttSeries);
Die TGanttSeries-Referenz habe ich ja, aber dieser sind ja mehrere Gantts zugeordnet. Auf die möchte ich ja zugreifen. Die TGanttSeries habe ich im TChart angelegt und wird auch im OI angezeigt. Mir fehlt eine Eigenschaft um auf die einzelnen Bars zuzugreifen.

Zitat von guinnes:
Du färbst in deinem Beispiel den Gantt mit ValueColor[ValueIndex] ein, warum machst du das nicht genau so mit dem Index, den du beim Add erhälts ? Also ValueColor[Integer(deine ComboBox.Items[DeineComboBoy.ItemIndex].Objects)] := WasAuchImmer;
Ich würde das ja gerne so machen, das wäre ja auch nicht das Problem, bloß womit soll ich denn die ComboxBox-Item-Objects füllen. Ich habe die Zeiger auf die Bars nicht. Auf die möchte ich ja gerne zugreifen. Wie kann ich das tun?
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat
luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#10

Re: GanttSeries-Elemente einfärben

  Alt 24. Feb 2009, 14:32
Im angehängtem Bild ist ein Beispiel für ein TChart mit Gantt. Der rote Rahmen ist die GanttSeries und der blaue Rahmen ist der Balken den ich einfärben möchte. Wie kann ich auf diesen von außeen zugreifen. Im OnClick kein Problem, aber sonst ???
Miniaturansicht angehängter Grafiken
tchart_mit_gantt_727.jpg  
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  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 22:49 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