Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Eigene listbox mit TObjeklist Scroll problem

  Alt 11. Sep 2006, 15:16
Jetzt gehts vielen dank für deine hilfe !
Delphi-Quellcode:
procedure Tmylistbox.Draw;
var
  i:Integer;
  s:Char;
  y,selY,indexdeserstensichtbarenEintrags,YAnzeigePosition :Integer;
begin
  HeaderCaption.DrawCaption('',-1,-1);
  FootCaption.DrawCaption(IntTostr(itemIndex)+'\'+IntTostr(Items.count) ,-1,-1);
  Paint.DrawRect(posX,posY,200,150);
  s:=#0; y:=-1;
  if items <> NIL then begin
    YAnzeigePosition:=2;
    if itemindex = -1 then itemindex:=0;
    for i:=itemindex to items.count-1 do begin
      with TmyListItem(Items.Items[i]) do begin
        if Caption.isSel = True then begin
           s:='*';
           SetIndex(i);
           FootCaption.fCaption:='Einträge: ' + IntTostr(itemIndex)+'\'+IntTostr(Items.count)+'\' + IntTostr(displaycount) ;
           sely:=Tmylistitem(items.items[itemindex]).Caption.fpos.y-displayh

        end
        else begin
          s:=' ';
         SetIndex(-1);
        end;
// indexdeserstensichtbarenEintrags := ((items.Count-(displayh div 20)) * caption.fpos.y) div 20;
        Caption.DrawCaption(s,0,YAnzeigePosition);
        YAnzeigePosition:=YAnzeigePosition+20;
        if YAnzeigeposition > displayH then break;
      end;
    end;
  end;
  FootCaption.DrawCaption('' ,-1,-1);
// FootCaption.fCaption:='Einträge: ' + IntTostr(itemIndex)+'\'+IntTostr(Items.count);
end;
edit: es gibt da noch einen scrollfehler: wenn ich am letzten item bin verschwinden alle items ich hätte es aber gerne das die lezten-paar noch sichtbar sind
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat