Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
FreePascal / Lazarus
|
Re: Eigene listbox mit TObjeklist Scroll problem
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)
|
|
Zitat
|