Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
|
Re: ListView verfärbt Icons
9. Apr 2006, 21:38
Also ich habe den Source auf folgendes reduziert, und bei mir keine verfärbungen mehr beobachten können. (Mit TIcon wurde es auch bei mir dunkler ...)
Delphi-Quellcode:
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
TargetItem: TListItem;
Ti_1, Ti_2: TBitmap;
begin
if not (Sender = Source) then
Exit;
TargetItem := ListView1.GetItemAt(X, Y);
if (TargetItem <> nil) then
begin
Ti_1 := TBitmap.Create;
Ti_2 := TBitmap.Create;
ListView1.Items.BeginUpdate;
jvimagelist1.GetBitmap(ListView1.Selected.Index, ti_1);
jvimagelist1.GetBitmap(TargetItem.Index, ti_2);
jvimagelist1.Replace(ListView1.Selected.Index, ti_2, nil);
jvimagelist1.Replace(TargetItem.Index, ti_1, nil);
Ti_1.Free;
Ti_2.Free;
ListView1.Items.EndUpdate;
end;
end;
procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := Sender = ListView1;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to 50 do
begin
Button2Click(Sender);
Sleep (10);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ListView1.Selected := ListView1.Items[1];
ListView1DragDrop(ListView1, ListView1, 30, 30);
ListView1.Repaint;
end;
|
|
Zitat
|