Hallo,<p>
ich habe folgendes Problem mit einer Tortengraphik: <br>
Die Beschriftung eines Tortensegments soll z.B. so aussehen:<p>
(80 %)<br>
<b>245,56 Mio EUR</b><br>
(= 1,978 TEUR pro<br>
Lieferant)<p>
(Gemeint ist der Text, dessen Eigenschaften man im Chart-Editor unter Reihen/Markierungen einstellen kann.)<br>
Diese Beschriftungen kann man zur Laufzeit beim Hinzufügen eines Wertes mit angeben: z.B.<p>
Series1.AddPie(234, 'Keine ' + #13 + 'Ahnung', clRed);<p>
Durch das #13 erreicht man auch,daß ein Zeilenumbruch erzeugt wird. Was allerdings nicht geht ist, daß man die 2. Zeile dann auch noch fett darstellt.<br>
Man kann sich aber die Position des Textes geben lassen mit:<p>
Series1.Marks.Positions.Position[0].LeftTop.x<p>
Nun könnte man ein oder mehrere TLabel-Objekte darüber zeichnen, wobei eben eines mit fetter Schrift ist. Das geht auch wunderbar solange man die Torte ohne 3D-Effekt darstellen läßt. Sobald man den 3D-Effekt aktiviert, wird die komplette Torte entsprechend verzerrt und die Beschriftungen der Segmente werden anders positioniert. Die obige Methode liefert aber nach wie vor die Koordinaten als würde die Torte ohne 3D-Effekt dargestellt werden. Die Torte soll aber laut Vorgabe mit 3D-Effekt angezeigt werden. Was tun?<p>
Noch'n anderes Problem: Man kann immer nur das größte Tortenstück herausheben. Wenn aber z.B. die Torten-Graphik aus drei Stücken besteht, so sollen die beiden kleineren herausgehoben dargestellt werden.<p>
Kennt jemand von euch die Lösung für die beiden Probleme? Wenn man den Quellcode von der TChart-Komponente zur Verfügung hätte, wäre es wahrscheinlich kein Problem, aber selbst bei der D5 Enterprise wird dieser nicht mitgeliefert.<p>
Gruß<p>
Wolfgang Roller
ich habe folgendes Problem mit einer Tortengraphik: <br>
Die Beschriftung eines Tortensegments soll z.B. so aussehen:<p>
(80 %)<br>
<b>245,56 Mio EUR</b><br>
(= 1,978 TEUR pro<br>
Lieferant)<p>
(Gemeint ist der Text, dessen Eigenschaften man im Chart-Editor unter Reihen/Markierungen einstellen kann.)<br>
Diese Beschriftungen kann man zur Laufzeit beim Hinzufügen eines Wertes mit angeben: z.B.<p>
Series1.AddPie(234, 'Keine ' + #13 + 'Ahnung', clRed);<p>
Durch das #13 erreicht man auch,daß ein Zeilenumbruch erzeugt wird. Was allerdings nicht geht ist, daß man die 2. Zeile dann auch noch fett darstellt.<br>
Man kann sich aber die Position des Textes geben lassen mit:<p>
Series1.Marks.Positions.Position[0].LeftTop.x<p>
Nun könnte man ein oder mehrere TLabel-Objekte darüber zeichnen, wobei eben eines mit fetter Schrift ist. Das geht auch wunderbar solange man die Torte ohne 3D-Effekt darstellen läßt. Sobald man den 3D-Effekt aktiviert, wird die komplette Torte entsprechend verzerrt und die Beschriftungen der Segmente werden anders positioniert. Die obige Methode liefert aber nach wie vor die Koordinaten als würde die Torte ohne 3D-Effekt dargestellt werden. Die Torte soll aber laut Vorgabe mit 3D-Effekt angezeigt werden. Was tun?<p>
Noch'n anderes Problem: Man kann immer nur das größte Tortenstück herausheben. Wenn aber z.B. die Torten-Graphik aus drei Stücken besteht, so sollen die beiden kleineren herausgehoben dargestellt werden.<p>
Kennt jemand von euch die Lösung für die beiden Probleme? Wenn man den Quellcode von der TChart-Komponente zur Verfügung hätte, wäre es wahrscheinlich kein Problem, aber selbst bei der D5 Enterprise wird dieser nicht mitgeliefert.<p>
Gruß<p>
Wolfgang Roller
Comment