TListBox-sac aqvs ownerDraw ,ethodebi. ase rom tvitueuli item-is xatva shegiZlia. paxodu listbox-s akvs aramarto Items propery aramed Objects propertyc. xoda imashi tu ginda shens shekmnil obiektebs Casvam. xoda aige da ragac obieqti shekmeni
TMyObject = class(TObject)
Text : string;
Color : DWORD;
end;
mere aketeb.
var mObj : TMyObject;
....
procedure TForm1.OnSomeFuckinEvent(Sender : TObject)
var lastIndex : integer;
begin
mObj := TMyObject.Create;
mObj.Color:=clRed;
mObj.Text:='ListBox Item';
lastIndex:=ListBox1.Items.Add(mObj.Text);
ListBox1.Items.Objects[lastIndex]:=mObj;
end;
// ar unda dagavitskdes;
procedure TForm1.OnSomeFuckinEvent(Sender : TObject)
var i : integer;
begin
for i:=0 to ListBox1.Items.Count-1 do
if ListBox1.Items.Objects[i]<>nil
then
(ListBox1.Items.Objects[i] as TMyObject).Free;
end;
,...
xolo tviton TListBox.OnDrawItem-ze ki datser imas tu rogor ginda daixatos. ra ferit da ase shemdeg. tu ginda im obiectshi daumate erti field-i davushvat BitmapFileName da mere rom tsaikitxav am fields xatvis dros shegidzlia kvela itemi calke suratit daxato. karoche kvelafris keteba sheidzleba ra