Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Перетаскивание   Найти похожие ветки 

 
картограф ©   (2005-10-29 19:32) [0]

Здравствуйте!
Как сделать так, что бы геометрическую фигуру можно было бы перетаскивать и когда ее перетащили бы в определенную область( на другую фигуру) и отпустили кнопку мыши, произошло какое-либо событие(например запись в МЕМО). Буду вдвойне рад если будут примеры кода...


 
SergProger ©   (2005-10-30 01:49) [1]

Не понял, о какой фигуре идёт речь, покажу на примере TImage:

var
 Form1: TForm1;
 DownButton: Boolean;
 LastPoint: TPoint;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 Form1.DoubleBuffered:=True;
 Image1.Canvas.Brush.Color:=clYellow;
 Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
 DownButton:=False;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 LastPoint:=Point(X,Y);
 DownButton:=True;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 If DownButton then begin
   Image1.Left:=Image1.Left+X-LastPoint.X;
   Image1.Top:=Image1.Top+Y-LastPoint.Y;
 end;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 DownButton:=False;
 Label1.Caption:=IntToStr(Image1.Left)+", "+IntToStr(Image1.Top);
end;


 
картограф ©   (2005-10-30 08:39) [2]

Большое спасибо! Одним белым пятном в моих знаниях о Delphi стало меньше!



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
2-1130514298
DelphiLexx
2005-10-28 19:44
2005.11.20
Нужно ли вызывать Free


14-1130311715
TUser
2005-10-26 11:28
2005.11.20
Доступ к папке


9-1120158033
4ECHOK
2005-06-30 23:00
2005.11.20
Где найти SMD-модели.


5-1110285566
GuAV
2005-03-08 15:39
2005.11.20
procedure TCustomImageList.DefineProperties(Filer: TFiler);


14-1130153327
DillerXX
2005-10-24 15:28
2005.11.20
Чудеса в Решетове