Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
FreePascal / Lazarus
|
Re: Eigene listbox mit TObjeklist Scroll problem
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;
Michael Springwald MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
|
|
Zitat
|