Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2011, 10:58   #1
Сергей58rus
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 28
По умолчанию перемещение в дельфи

подскажите, как сделать так, чтобы при перемещении объекта мышью старые объекты удалялись, и было видно как мы перетаскиваем его
(а пока только кликнули на объект, передвинули курсор, и объект появился в том месте)..
Код:
unit Unit1vsim;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    procedure Image1Click(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
ax,ay,x,y: integer;
 x0, y0: Integer;
 drag: boolean;
 implementation

{$R *.dfm}

procedure TForm1.Image1Click(Sender: TObject);
begin
 Image1.Canvas.MoveTo(285+ax,167+ay) ;
Image1.Canvas. LineTo(275+ax,157+ay);
Image1.Canvas. LineTo(273+ax,168+ay);
Image1.Canvas. LineTo(285+ax,167+ay);

Image1.Canvas. MoveTo(265+ax,155+ay);
Image1.Canvas. LineTo(255+ax,146+ay);
Image1.Canvas. LineTo(253+ax,158+ay);
Image1.Canvas. LineTo(265+ax,155+ay);

Image1.Canvas. MoveTo(290+ax,152+ay);
Image1.Canvas. LineTo(280+ax,162+ay);
Image1.Canvas. MoveTo(270+ax,140+ay);
Image1.Canvas. LineTo(260+ax,150+ay);
Image1.Canvas. MoveTo(300+ax,230+ay);
Image1.Canvas. LineTo(300+ax,170+ay);
Image1.Canvas. MoveTo(350+ax,200+ay);
Image1.Canvas. LineTo(180+ax,200+ay);
Image1.Canvas. MoveTo(300+ax,200+ay);
Image1.Canvas. LineTo(230+ax,150+ay);
Image1.Canvas. LineTo(230+ax,250+ay);
Image1.Canvas. LineTo(300+ax,200+ay);
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);


 begin
x0:= 450;
y0:= 370;
Drag:= true;

end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if drag then begin
with image1 do
begin
ax := Left + x-x0;
ay := Top + y-y0;
end;
drag := false;
end;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if drag then
begin
ax := Left + x-x0;
ay := Top + y-y0;
DeleteObject(0);
end;
end;


end.

Последний раз редактировалось Stilet; 30.04.2011 в 13:53.
Сергей58rus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TrackBar перемещение KoBRaAndrey Общие вопросы Delphi 6 10.08.2010 01:08
Перемещение формы??? lionman Общие вопросы Delphi 20 22.04.2009 17:43
Перемещение TShape Furious_Angel Помощь студентам 2 07.12.2008 16:34
Перемещение столбцов Janny Microsoft Office Excel 6 10.11.2008 07:58
Перемещение данных Мария100684 Microsoft Office Access 6 26.09.2008 03:45