Ah Danke, ja so hab ich das auch in der Art gemacht. Es widerstrebt mir aber das als "saubere" Lösung zu akzeptieren
Kann ich eigentlich das Bild für den Drag-Effekt weniger verwaschen darstellen?
Delphi-Quellcode:
procedure TfrmSettingsSort.lvStationsMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Single);
var
r: TRectF;
bmp: TBitmap;
begin
if (ssLeft in Shift) and (lvStations.Selected <> NIL) then
begin
r := lvStations.GetItemRect(lvStations.ItemIndex);
bmp := TBitmap.Create(round(lvStations.Width), round(lvStations.Height));
try
bmp.Canvas.BeginScene;
lvStations.PaintTo(bmp.Canvas, RectF(0, 0, bmp.Width, bmp.Height));
bmp.Canvas.EndScene;
FDragBitmap.SetSize(round(r.Width), round(r.Height));
FDragBitmap.Canvas.BeginScene;
FDragBitmap.Canvas.DrawBitmap(bmp, r, RectF(0, 0, FDragBitmap.Width,
FDragBitmap.Height), 1);
FDragBitmap.Canvas.EndScene;
finally
bmp.Free;
end;
BeginInternalDrag(lvStations.Selected, FDragBitmap);
end;
end;
Christian