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

Вниз

И снова Drag&Drop   Найти похожие ветки 

 
cerber1 ©   (2004-11-29 23:45) [0]

Я понимаю что может уже тривиально, но как с помощью Drag&Drop перетаскивать Tshape по Tform?. Просьба предоставить рабочий(проверенный) код


 
easy ©   (2004-11-30 00:04) [1]

var
 downX,downY:integer;

procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 downX:= X;
 downY:= Y;
end;

procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
if (ssLeft in Shift) then
 with Shape1 do begin
   Left := X-downX+Left;
   Top := Y-downY+Top;
 end;
end;


 
VMcL ©   (2004-11-30 07:24) [2]

>>easy ©  (30.11.04 00:04) [1]

Только downX и downY лучше, наверное, объявить как поле класса TForm1.


 
cerber1 ©   (2004-11-30 22:38) [3]

Я наверно не совсем жирными написал:
с помощью Drag&Drop
ибо предложенный способ мною уже давно реализован.


 
cerber1 ©   (2004-11-30 22:41) [4]

И в догонку:
почему у объектов класса Tshape нет хендла?


 
Style ©   (2004-11-30 23:15) [5]

Установи Shape1.DragMode := dmAutomatic;
и добавь на форму следующий код.

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

procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
 Shape1.Left := x;
 Shape1.Top := y;
end;


> И в догонку:
> почему у объектов класса Tshape нет хендла?

потому что это не TWinControl!


 
easy ©   (2004-12-01 00:31) [6]


> [3]

тык вам шашечки или ехать?..



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

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

Наверх




Память: 0.48 MB
Время: 0.036 c
1-1105283066
Kolyan
2005-01-09 18:04
2005.01.23
Файловые функции


14-1104917688
asdqwer
2005-01-05 12:34
2005.01.23
Реализация длинной арифметики на Паскале и с делением!


14-1104773912
Aldor_
2005-01-03 20:38
2005.01.23
Обособление интерфейсной части в программе. Способы.


1-1105599774
Zhekson
2005-01-13 10:02
2005.01.23
Как синхрониховать полосы прокрутки в двух StringGrid_ах?


4-1102393341
dr Tr0jan
2004-12-07 07:22
2005.01.23
Как узнать хендл активного окна?