Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.099 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Exontrol G2Antt wie Item und Bars durchlaufen

  Alt 17. Jul 2013, 10:46
[Edit]

so, jetzt habe ich es. Damit kann beim anklicken eines Items in der Liste(nicht im Chart)
auf die erste Bar gescrollt werden.

Delphi-Quellcode:
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;

Geändert von Kostas (17. Jul 2013 um 12:36 Uhr)
  Mit Zitat antworten Zitat