Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Eigenschaften auf "Vorhandensein" prüfen?

  Alt 15. Jan 2009, 17:29
Moin !

Wir nutzen in unserer Anwendung TChart und dort gibt es mehrere Serientypen. Nun haben aber nicht alle Serientypen die gleichen Einstellungen. Wir nutzen weiterhin die ChartListBox von TChart um die in einem Chart befindlichen Serien anzuzeigen. Das Teil schaut so (das in der Mitte):
siehe Anhang

Dort haben wir ein Popupmenü hinterlegt welches dann bestimmte Einstellungen für die Serie bereit hält wie z.B. Farbe, Strichstärke, Grid an / aus, etc.
Bis jetzt haben wir nur einen Serientypen verwendet. Da war es einfach weil man das Menü genau auf diese Serie zuschneidern konnte. Nun wollen wir aber alle Serientypen verfügbar machen.

Nun wäre es etwas müßig immer über eine Routine zu schauen welche Eigenschaften unserer Popup bietet und was man davon auf eine Serie anwenden kann. Geht das irgendwie automatisch?

Bsp: Nehmen wir mal die Serientypen FastLine und und Area. Der Typ FastLine bietet eine Einstellung "Draw All" welche der Serientyp Area nicht bietet. Gibt es nun eine Möglichkeit den Menüeintrag automatisch zu disablen wenn diese Eigenschaft nicht verfügbar ist?

Es ginge sicherlich über eine Typenprüfung. Also irgendwie so ...
Button_DrawAll.Enabled := Serie in [TFastLine] Aber das würde einen enormen Aufwand bedeuten weil man ja überall erstmal nachsehen müsste was geht und nicht. Bei den 70 Serientypen von TChart ist das müssig ...

Gibt es da nicht so einen Weg:
Button_DrawAll.Enabled := Serie(Property).available Ok so geht das ganz sicher nicht, aber ich wollte es nur mal deutlich machen was ich meine. Also quasi eine Zeile Code die selber prüft ob der Serientyp eine Eigenschaft hat oder nicht. Geht das ?
Miniaturansicht angehängter Grafiken
design-time_window_316.png  
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat