procedure TfrTerminplan.G2antt1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var item,c,BarCount, n:Integer;
hit :EXG2ANTTLib_TLB.HitTestInfoEnum;
bar :integer;
tmpDatum, ScrollDatum:TDateTime;
begin
inherited;
try
ScrollDatum := StrToDate('
31.12.9999');
{angeklicktes Item abfragen}
item := G2antt1.ItemFromPoint[-1,-1,c,hit];
{gültiges Item auf ItemListe angeklickt (nicht im Chart)}
if ((item>0)
and(c=0))
then
begin
{Anzahl der Bars des Items abfragen}
BarCount := G2antt1.Items.ItemBar[item,'
<*>',EXG2ANTTLib_TLB.exBarsCount];
for n := 0
to BarCount-1
do
begin
if n=0
then bar := G2antt1.Items.FirstItemBar[item]
{zum ersten Bar springen}
else bar := G2antt1.Items.NextItemBar[item,bar];
{zur nächsten Bar springen}
{Startdatum der Bar abfragen}
tmpDatum := StrToDate(G2antt1.Items.ItemBar[item,bar,EXG2ANTTLib_TLB.exBarStart]);
{das jüngste Datum merken}
ScrollDatum := Min(ScrollDatum, tmpDatum);
end;
{Das Chart scrollen}
G2antt1.Chart.ScrollTo(ScrollDatum,exScrollUp);
end;
except
{Exception durch falsches klicken ignorieren}
on EVariantInvalidArgError
do
begin
end;
end;
end;