Grüße liebe
dp'ler
ich möchte ein kleines programm schreiben, in welchem verschiedene Werte in Torten- und Balken-Diagrammen dargestellt werden sollen.
Mein problem ist folgendes: ich möchte das beim mausover bei den balken ein hint-wert anzeigen (steht der genau wert und eine nähere erklärung drinne).
ich bin hier schon auf eine anderen foren eintrag gestoßen, nur leder klappen keine der lösungen bei mir.
link zum foren eintrag:
http://www.delphipraxis.net/53563-tc...nzeigen-2.html
und ein ausschnitt aus meinem quellcode:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowHint := true;
Application.OnShowHint := Form1.AppShowHint;
end;
procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
// hier ist das problem, dass der Hint nicht aktualisiert wird, außer man klick
// oder verlässt das chart1 sowas wollte ich eig vermeiden
var
iWert,
i: Integer;
begin
for i:=0 to form1.Chart1.SeriesCount-1 do
begin
if form1.Chart1.Series[i].GetCursorValueIndex >= 0 then
begin
iWert := form1.Chart1.Series[i].GetCursorValueIndex;
form1.Chart1.Hint := form1.Chart1.series[i].YValueToText
(Form1.Chart1.Series[i].YValues[iWert]);
end;
end;
end;
procedure TForm1.Appshowhint(var HintStr: String; var CanShow: boolean;
var HintInfo: THintInfo);
// hier ist das problem das die routine nicht durchlaufen wird
var
part: TChartClickedPart;
iwert,
iIndex: Integer;
c: TChart;
cs: TChartSeries;
begin
if (HintInfo.HintControl is TChart) then
begin
c := TCHart(HintInfo.HintControl);
c.CalcClickedPart(HintInfo.CursorPos, part);
if Assigned(part.ASeries) then
begin
cs := part.ASeries;
iIndex := cs.GetCursorValueIndex;
if ( iIndex >= 0 )
then
begin
iWert := form1.Chart1.Series[iIndex].GetCursorValueIndex;
HintStr := form1.Chart1.series[iIndex].YValueToText
(Form1.Chart1.Series[iIndex].YValues[iWert]);
end;
hintinfo.ReshowTimeout := 50;
end;
end;
end;
was mache ich falsch?
Wher rechtsschreib veler findet darf si bealten.
Nicht jeder der aus dem Rahmen fällt, war vorher im bilde.