Einzelnen Beitrag anzeigen

CHackbart

Registriert seit: 22. Okt 2012
267 Beiträge
 
#24

AW: Listview mit Firemonkey

  Alt 5. Mai 2016, 21:59
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

Geändert von CHackbart ( 5. Mai 2016 um 22:11 Uhr)
  Mit Zitat antworten Zitat