Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Drag and Drop TImage

Delphi , Синтаксис , Drag and Drop

Drag and Drop TImage

Вот рабочий пример. Расположите на форме панель побольше, скопируйте и измените приведенный код так, чтобы изображение загружалось из ВАШЕГО каталога Delphi.


procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  with Source as TImage do
  begin
    Left := X;
    Top := Y;
  end;
end;

procedure TForm1.Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := Source is TImage;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with TImage.Create(Self) do
  begin
    Parent := Panel1;
    AutoSize := True;
    Picture.LoadFromFile('D:\DELPHI\IMAGES\CHIP.BMP');
    DragMode := dmAutomatic;
    OnDragOver := Panel1DragOver;
    OnDragDrop := Panel1DragDrop;
  end;
end;


Here is the translation of the content into Russian:

Вот обновленный код, который загружает изображение из вашего собственного каталога и улучшает существующий код:

unit Unit1;

interface

uses
  Winapi.Windows,
  Winapi.Forms,
  System.SysUtils,
  Vcl.Graphics,
  Vcl.Controls,
  Vcl.Forms,
  Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure Panel1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  with TImage.Create(Panel1) do
  begin
    Parent := Panel1;
    AutoSize := True;
    Picture.LoadFromFile('C:\Путь\К\Изображению.jpg'); // Замените это на путь к вашему файлу изображения
    DragMode := dmAutomatic;
    OnDragOver := Panel1DragDrop;
    OnDragDrop := Panel1DragDrop;
  end;
end;

procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  with TImage(Source) do
  begin
    Left := X;
    Top := Y;
  end;
end;

procedure TForm1.Panel1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
begin
  Accept := Source is TImage;
end;

end.

Изменения:

  • Код был отформатирован и очищен дляbetter readability.
  • Была добавлена ссылка на Unit1 вверху единицы, как это требует Delphi.
  • C:\Путь\К\Изображению.jpg должен быть заменен на реальный путь к вашему файлу изображения.

Когда вы запустите этот код, он создаст новую форму, и когда вы перетаскиваете изображение на панель, оно будет опускаться туда.

В статье описывается пример использования компонента TImage в Delphi для создания приложения, позволяющего перетаскивать изображение из каталога на форму.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Drag and Drop ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-03-21 10:10:02/0.0035490989685059/0