Einzelnen Beitrag anzeigen

mimi

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

Re: Eigene listbox mit TObjeklist Scroll problem

  Alt 11. Sep 2006, 17:18
ich lade mal das progamm hoch... ich weiß einfach nicht mehr weiter
Delphi-Quellcode:
procedure Tmylistbox.Draw;
var
  i:Integer;
  s:Char;
  y,selY,indexdeserstensichtbarenEintrags :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:=0;
// if itemindex = -1 then itemindex:=0;
    for i:=0 to items.count-1 do begin
      with TmyListItem(Items.Items[i]) do begin
        s:=' ';
        SetIndex(-1);
        if Caption.isSel = True then begin
           s:='*';
           SetIndex(i);
           itemindex:=i;
           FootCaption.fCaption:='Einträge: ' + IntTostr(itemIndex)+'\'+IntTostr(Items.count)+'\' + IntTostr(displaycount) ;
           break;
        end;
        if i <= displaycount then
        TmyListItem(Items.Items[i]).Caption.DrawCaption(s,0,Caption.fpos.y);
      end;
    end;
// else begin
// s:=' ';
// SetIndex(-1);
// end;
// indexdeserstensichtbarenEintrags := ((items.Count-(displayh div 20)) * caption.fpos.y) div 20;
    if itemindex >-1 then begin
      for i:=0 to items.count-1 do begin
        if (YAnzeigeposition <= (posy+displayH)-20) then begin
          if i = itemindex then s:='*else s:=' ';
          TmyListItem(Items.Items[i]).Caption.DrawCaption(s,0,posy+YAnzeigePosition);
          if YAnzeigePosition + 20 < displayH-20 then
            YAnzeigePosition:=YAnzeigePosition+20
// else
// YAnzeigePosition:=0;
        end;
      end;
    end;
  end;
  FootCaption.DrawCaption('' ,-1,-1);
// FootCaption.fCaption:='Einträge: ' + IntTostr(itemIndex)+'\'+IntTostr(Items.count);
end;
Angehängte Dateien
Dateityp: zip mylistbox_641.zip (193,3 KB, 11x aufgerufen)
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat