Einzelnen Beitrag anzeigen

Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#1

Drag&Drop einer TImage-Komponente

  Alt 6. Mai 2004, 10:23
ich habe ein panel mit einer image-kompnente draufliegen. die image-kompo soll per drag und drop auf eine danebenliegende paintbox gelegt werden (ich muss also auch irgendwie den parent ändern??!!!)


in dieses image lade ich ein bitmap:

Code:
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
  // Bitmap aus Datei in das Image laden und die Höhe und Breite des Image anpassen
  ImageVorschau.Picture.Bitmap.LoadFromFile(ListBox1.Items[ListBox1.ItemIndex]);
  ImageVorschau.Width := ImageVorschau.Picture.Width;
  ImageVorschau.Height := ImageVorschau.Picture.Height;

  // Image1 mittig auf dem Panel1 positionieren
  // x-Position
  if ImageVorschau.Width < PanelVorschau.Width then
    ImageVorschau.Left := Round(PanelVorschau.Width / 2 - ImageVorschau.Width / 2)
  else
    ImageVorschau.Left := 1;

  // y-Position 1. mittig positionieren oder 2. am oberen Rand
  if ImageVorschau.Height < PanelVorschau.Height then
    ImageVorschau.Top := Round(PanelVorschau.Height / 2 - ImageVorschau.Height / 2)
  else
    ImageVorschau.Top := 1;
end;
meine jetzige DragOver-procdure malt nur das Bitmap aus dem Image auf die PaintBox,
ich möchte aber das komplette Image daraufziehen (habe es wie in den geschweiften klammern mal versucht)
.

Code:
procedure TForm1.PaintBoxMenueflaecheDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  if (Source is TImage) and (Sender is TPaintBox) then
  begin
    {
    TImage(Source).Parent.Create(PaintBoxMenueflaeche);
    TImage(Source).Left := X;
    TImage(Source).Top := Y;
    }
    PaintBoxMenueflaeche.Canvas.Draw(X,Y,TImage(Source).Picture.Bitmap);
  end;
end;
wie kann ich das komplette image rüberziehen???
  Mit Zitat antworten Zitat